* 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

@ -55,8 +55,7 @@ client_request_shm::serve (transport_layer_base *const conn,
return;
}
process *const client = cache->process (_parameters.in.ipcblk.cygpid,
_parameters.in.ipcblk.winpid,
_parameters.in.ipcblk.signal_arrived);
_parameters.in.ipcblk.winpid);
if (!client)
{
error_code (EAGAIN);
@ -82,7 +81,7 @@ client_request_shm::serve (transport_layer_base *const conn,
conn->revert_to_self ();
/* sysv_shm.cc takes care of itself. */
client->release ();
thread td = { client, &_parameters.in.ipcblk, {0, 0} };
thread td (client, &_parameters.in.ipcblk, false);
int res;
shmop_t shmop = _parameters.in.shmop; /* Get's overwritten otherwise. */
switch (shmop)