4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-28 12:05:47 +08:00

Cywin: user profile: unload impersonation user profile on exit

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2019-02-23 21:06:12 +01:00
parent dd3730ed9c
commit bcb33dc4f0
2 changed files with 6 additions and 0 deletions

View File

@ -193,6 +193,11 @@ public:
{
return effec_cygsid.string (buf);
}
void exit ()
{
if (imp_profile_token && imp_profile)
unload_user_profile (imp_profile_token, imp_profile);
}
const char __reg3 *test_uid (char *&, const char *, size_t);
};

View File

@ -224,6 +224,7 @@ pinfo::exit (DWORD n)
exitcode = ((exitcode & 0xff) << 8) | ((exitcode >> 8) & 0xff);
sigproc_printf ("Calling dlls.cleanup_forkables n %y, exitcode %y", n, exitcode);
dlls.cleanup_forkables ();
cygheap->user.exit ();
sigproc_printf ("Calling ExitProcess n %y, exitcode %y", n, exitcode);
if (!TerminateProcess (GetCurrentProcess (), exitcode))
system_printf ("TerminateProcess failed, %E");