* uinfo.cc (uinfo_init): Call `cygwin_set_impersonation_token' to

reset `cygheap->user.token' to INVALID_HANDLE_VALUE.
This commit is contained in:
Corinna Vinschen 2000-11-16 09:53:26 +00:00
parent 0dc9dc8b3a
commit eb79d041f8
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Thu Nov 16 10:28:00 2000 Corinna Vinschen <corinna@vinschen.de>
* uinfo.cc (uinfo_init): Call `cygwin_set_impersonation_token' to
reset `cygheap->user.token' to INVALID_HANDLE_VALUE.
Thu Nov 16 00:18:15 2000 Christopher Faylor <cgf@cygnus.com> Thu Nov 16 00:18:15 2000 Christopher Faylor <cgf@cygnus.com>
* exceptions.cc (interrupt_setup): Don't set signal mask here or races * exceptions.cc (interrupt_setup): Don't set signal mask here or races

View File

@ -17,6 +17,7 @@ details. */
#include <stdlib.h> #include <stdlib.h>
#include <wchar.h> #include <wchar.h>
#include <lm.h> #include <lm.h>
#include <sys/cygwin.h>
#include "sync.h" #include "sync.h"
#include "sigproc.h" #include "sigproc.h"
#include "pinfo.h" #include "pinfo.h"
@ -185,7 +186,7 @@ uinfo_init ()
Setting `impersonated' to TRUE seems to be wrong but it Setting `impersonated' to TRUE seems to be wrong but it
isn't. Impersonated is thought as "Current User and `token' isn't. Impersonated is thought as "Current User and `token'
are coincident". See seteuid() for the mechanism behind that. */ are coincident". See seteuid() for the mechanism behind that. */
cygheap->user.token = INVALID_HANDLE_VALUE; cygwin_set_impersonation_token (INVALID_HANDLE_VALUE);
cygheap->user.impersonated = TRUE; cygheap->user.impersonated = TRUE;
/* If uid is USHRT_MAX, the process is started from a non cygwin /* If uid is USHRT_MAX, the process is started from a non cygwin