diff options
author | Christopher Faylor <me@cgf.cx> | 2001-11-03 03:32:27 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-11-03 03:32:27 +0000 |
commit | 243a041bd0164aa62813ac4ba5a1a02eb2db455b (patch) | |
tree | af591a485215fcd4578be09cfabe6ff75b0782fe /winsup/cygwin/sigproc.cc | |
parent | 01432054cb24122d300f109d4d252a9c95835a9b (diff) | |
download | newlib-243a041bd0164aa62813ac4ba5a1a02eb2db455b.zip newlib-243a041bd0164aa62813ac4ba5a1a02eb2db455b.tar.gz newlib-243a041bd0164aa62813ac4ba5a1a02eb2db455b.tar.bz2 |
* dll_init.h (class dll_list): Reorder functions to avoid compiler "can't
inline" warnings.
* security.h (class cygsid): Ditto.
* sigproc.cc (get_proc_lock): Ditto.
* sigproc.h (class sigframe): Ditto.
* sync.h (class muto): Ditto.
* fhandler.h (fhandler_base::get_guard): Actually MAKE virtual as previously
indicated.
* pipe.cc (make_pipe): Remove extraneous set_errno.
* syscalls.cc (_open): Ditto.
* select.cc (peek_pipe): Need to check that there is still something to read
from the pipe after acquiring the mutex since another process/thread could have
eaten the input before we got to acquiring the lock. (Thanks to Nick Duffek
for this inspiration.)
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index fd5008a..fdc7a6f 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -179,6 +179,29 @@ wait_for_me () } } +/* Get the sync_proc_subproc muto to control access to + * children, zombie arrays. + * Attempt to handle case where process is exiting as we try to grab + * the mutex. + */ +static BOOL +get_proc_lock (DWORD what, DWORD val) +{ + Static int lastwhat = -1; + if (!sync_proc_subproc) + return FALSE; + if (sync_proc_subproc->acquire (WPSP)) + { + lastwhat = what; + return TRUE; + } + if (!sync_proc_subproc) + return FALSE; + system_printf ("Couldn't aquire sync_proc_subproc for(%d,%d), %E, last %d", + what, val, lastwhat); + return TRUE; +} + static BOOL __stdcall proc_can_be_signalled (_pinfo *p) { @@ -939,29 +962,6 @@ getsem (_pinfo *p, const char *str, int init, int max) return h; } -/* Get the sync_proc_subproc muto to control access to - * children, zombie arrays. - * Attempt to handle case where process is exiting as we try to grab - * the mutex. - */ -static BOOL -get_proc_lock (DWORD what, DWORD val) -{ - Static int lastwhat = -1; - if (!sync_proc_subproc) - return FALSE; - if (sync_proc_subproc->acquire (WPSP)) - { - lastwhat = what; - return TRUE; - } - if (!sync_proc_subproc) - return FALSE; - system_printf ("Couldn't aquire sync_proc_subproc for(%d,%d), %E, last %d", - what, val, lastwhat); - return TRUE; -} - /* Remove a zombie from zombies by swapping it with the last child in the list. */ static void __stdcall |