From 584c857700c38c345299bb1b725845e2481f53c7 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 7 Apr 2014 11:25:58 +0000 Subject: * 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. --- winsup/cygwin/cygserver_ipc.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/cygserver_ipc.h') 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__ */ -- cgit v1.2.3