* bsd_helper.h: Throughout, convert "struct thread" to "class thread".

* bsd_mutex.cc (_msleep): Fetch signal_arrived handle from thread's
	ipcblk.
	* process.h (class process): Drop _signal_arrived and align methods.
	(process_cache::process): Drop signal_arrived parameter.
	* process.cc (process::process): Ditto.  Drop related code.
	(process::~process): Drop closing signal_arrived handle.
	(process_cache::process): Drop signal_arrived parameter in call to
	process::process.
	(thread::dup_signal_arrived): New method duplicating thread's
	signal_arrived handle.
	(thread::close_signal_arrived): New method closing thread's
	signal_arrived handle.
	* msg.cc (client_request_msg::serve): Drop signal_arrived parameter from
	call to process_cache::process. Use thread constructor to initialize td.
	* sem.cc (client_request_sem::serve): Ditto.
	* shm.cc (client_request_shm::serve): Ditto.
This commit is contained in:
Corinna Vinschen
2015-01-19 17:42:38 +00:00
parent c95ce02160
commit 8d8f40361f
8 changed files with 66 additions and 48 deletions

View File

@ -1,6 +1,6 @@
/* process.h
Copyright 2001, 2002, 2003, 2004, 2005, 2012 Red Hat Inc.
Copyright 2001, 2002, 2003, 2004, 2005, 2012, 2015 Red Hat Inc.
Written by Robert Collins <rbtcollins@hotmail.com>
@ -74,14 +74,12 @@ class process
friend class process_cleanup;
public:
process (pid_t cygpid, DWORD winpid,
HANDLE signal_arrived = INVALID_HANDLE_VALUE);
process (pid_t cygpid, DWORD winpid);
~process ();
pid_t cygpid () const { return _cygpid; }
DWORD winpid () const { return _winpid; }
HANDLE handle () const { return _hProcess; }
HANDLE signal_arrived () const { return _signal_arrived; }
bool is_active () const { return _exit_status == STILL_ACTIVE; }
@ -102,7 +100,6 @@ private:
const pid_t _cygpid;
const DWORD _winpid;
HANDLE _hProcess;
HANDLE _signal_arrived;
LONG _cleaning_up;
DWORD _exit_status; // Set in the constructor and in exit_code ().
cleanup_routine *_routines_head;
@ -144,8 +141,7 @@ public:
process_cache (const size_t max_procs, const unsigned int initial_workers);
~process_cache ();
class process *process (pid_t cygpid, DWORD winpid,
HANDLE signal_arrived = INVALID_HANDLE_VALUE);
class process *process (pid_t cygpid, DWORD winpid);
bool running () const { return _queue.running (); }