* globals.cc (__isthreaded): New global variable. Explain what it's
used for. * miscfuncs.cc (thread_wrapper): Set __isthreaded to 1 here.
This commit is contained in:
parent
cc4a1b830d
commit
3e8d2576fd
|
@ -1,3 +1,9 @@
|
|||
2013-05-21 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* globals.cc (__isthreaded): New global variable. Explain what it's
|
||||
used for.
|
||||
* miscfuncs.cc (thread_wrapper): Set __isthreaded to 1 here.
|
||||
|
||||
2013-05-21 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler.h (class fhandler_dev_random): Change type of pseudo to
|
||||
|
|
|
@ -75,6 +75,13 @@ bool detect_bloda = false;
|
|||
|
||||
bool NO_COPY in_forkee;
|
||||
|
||||
/* Taken from BSD libc:
|
||||
This variable is zero until a process has created a pthread. It is used
|
||||
to avoid calling locking functions in libc when they are not required.
|
||||
Note that this is moderately dangerous. Do not rely on it if the public
|
||||
API is also used from a non-pthread thread like the signal thread. */
|
||||
int NO_COPY __isthreaded = 0;
|
||||
|
||||
int __argc_safe;
|
||||
int __argc;
|
||||
char **__argv;
|
||||
|
|
|
@ -473,6 +473,9 @@ thread_wrapper (PVOID arg)
|
|||
if (!arg)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
/* The process is now threaded. Note the fact for later usage. */
|
||||
__isthreaded = 1;
|
||||
|
||||
/* Fetch thread wrapper info and free from cygheap. */
|
||||
thread_wrapper_arg wrapper_arg = *(thread_wrapper_arg *) arg;
|
||||
cfree (arg);
|
||||
|
|
Loading…
Reference in New Issue