* 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.
This commit is contained in:
Corinna Vinschen 2014-04-07 11:25:58 +00:00
parent d2ee481248
commit 584c857700
3 changed files with 16 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2014-04-07 Corinna Vinschen <corinna@vinschen.de>
* 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.
2014-04-04 Corinna Vinschen <corinna@vinschen.de>
* ntea.cc (EA_BUFSIZ): Fix comment.

View File

@ -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__ */

View File

@ -1,6 +1,6 @@
/* shm.cc: XSI IPC interface for Cygwin.
Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2012, 2013
Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2012, 2013, 2014
Red Hat, Inc.
This file is part of Cygwin.
@ -85,7 +85,7 @@ client_request_shm::client_request_shm (proc *p1)
: client_request (CYGSERVER_REQUEST_SHM, &_parameters, sizeof (_parameters))
{
_parameters.in.shmop = SHMOP_shmfork;
ipc_set_proc_info (_parameters.in.ipcblk);
ipc_set_proc_info (_parameters.in.ipcblk, true);
_parameters.in.forkargs = *p1;
}