* cygthread.h (cygthread::terminate_thread): Reflect return value.
* cygthread.cc (cygthread::detach): Be more careful about ensuring that sigwait is properly waited for to avoid later missynchronization. (cygthread::terminate_thread): Return true if thread was actually terminated and all handles were closed. * fhandler_base.cc (fhandler_base::raw_read): Use signal_read_state rather than raw calls to win32 api. (fhandler_base::read): Ditto. * fhandler.h (fhandler_pipe::fixup_after_exec): Use method to create read_state signalling. (fhandler_pipe::create): Ditto. * Makefile.in: Make some more files -fomit-frame-pointer.
This commit is contained in:
@@ -177,7 +177,7 @@ fhandler_pipe::fixup_after_exec ()
|
||||
{
|
||||
if (read_state)
|
||||
{
|
||||
read_state = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
|
||||
create_read_state (2);
|
||||
ProtectHandle (read_state);
|
||||
}
|
||||
}
|
||||
@@ -410,7 +410,7 @@ fhandler_pipe::create (fhandler_pipe *fhs[2], unsigned psize, int mode, bool fif
|
||||
fhs[1]->close_on_exec (true);
|
||||
}
|
||||
|
||||
fhs[0]->read_state = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
|
||||
fhs[0]->create_read_state (2);
|
||||
fhs[0]->need_fork_fixup (true);
|
||||
ProtectHandle1 (fhs[0]->read_state, read_state);
|
||||
|
||||
|
Reference in New Issue
Block a user