diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-04-07 15:25:58 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-04-07 15:25:58 +0400 |
commit | 584c857700c38c345299bb1b725845e2481f53c7 (patch) | |
tree | bf06a4e659eb2852cc2ac2109587f805ca91403a /winsup/cygwin/cygserver_ipc.h | |
parent | d2ee4812487357001f07990c30a32a1346e86178 (diff) |
* cygserver_ipc.h (ipc_set_proc_info): Add bool parameter to specify
whether or not to send signal_arrived.
* shm.cc (client_request_shm::client_request_shm): Call
ipc_set_proc_info with bool parameter set to true to not send
signal_arrived.
Diffstat (limited to 'winsup/cygwin/cygserver_ipc.h')
-rw-r--r-- | winsup/cygwin/cygserver_ipc.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygwin/cygserver_ipc.h b/winsup/cygwin/cygserver_ipc.h index 4ed3cdf51..52f9f5ddd 100644 --- a/winsup/cygwin/cygserver_ipc.h +++ b/winsup/cygwin/cygserver_ipc.h @@ -1,6 +1,6 @@ /* cygserver_ipc.h - Copyright 2002, 2003, 2004, 2012, 2013 Red Hat, Inc. + Copyright 2002, 2003, 2004, 2012, 2013, 2014 Red Hat, Inc. This file is part of Cygwin. @@ -34,7 +34,7 @@ struct proc { #ifdef __INSIDE_CYGWIN__ #include "sigproc.h" extern inline void -ipc_set_proc_info (proc &blk) +ipc_set_proc_info (proc &blk, bool in_fork = false) { blk.cygpid = getpid (); blk.winpid = GetCurrentProcessId (); @@ -43,7 +43,10 @@ ipc_set_proc_info (proc &blk) blk.gidcnt = 0; blk.gidlist = NULL; blk.is_admin = false; - _my_tls.set_signal_arrived (true, blk.signal_arrived); + if (in_fork) + blk.signal_arrived = NULL; + else + _my_tls.set_signal_arrived (true, blk.signal_arrived); } #endif /* __INSIDE_CYGWIN__ */ |