From c95ce0216000cb8fb85d666adc79ed62b126d2ec Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 19 Jan 2015 17:42:04 +0000 Subject: * cygserver_ipc.h (ipc_retval): Add default constructor. (class thread): struct->class. Add prototypes for new private methods dup_signal_arrived and close_signal_arrived. Implement constructor and destructor. --- winsup/cygwin/cygserver_ipc.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/cygserver_ipc.h') diff --git a/winsup/cygwin/cygserver_ipc.h b/winsup/cygwin/cygserver_ipc.h index 52f9f5ddd..14495bc94 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, 2014 Red Hat, Inc. + Copyright 2002, 2003, 2004, 2012, 2013, 2014, 2015 Red Hat, Inc. This file is part of Cygwin. @@ -62,6 +62,7 @@ private: }; public: + ipc_retval () { ssz = 0; } ipc_retval (ssize_t nssz) { ssz = nssz; } operator int () const { return i; } @@ -84,10 +85,23 @@ public: vm_object_t operator = (vm_object_t nobj) { return obj = nobj; } }; -struct thread { +class thread { +private: + /* Implemented in cgyserver/process.cc */ + void dup_signal_arrived (); + void close_signal_arrived (); +public: class process *client; proc *ipcblk; ipc_retval td_retval[2]; + + thread (class process *_client, proc *_proc, bool _init_m1) + : client (_client), ipcblk (_proc) + { + td_retval[0] = td_retval[1] = _init_m1 ? -1 : 0; + dup_signal_arrived (); + } + ~thread () { close_signal_arrived (); } }; #define td_proc ipcblk #define p_pid cygpid -- cgit v1.2.3