This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
winsup/cygwin ChangeLog cygthread.cc cygthread ...
- From: cgf at cygwin dot com
- To: cygwin-cvs at cygwin dot com
- Date: 13 Oct 2002 18:16:33 -0000
- Subject: winsup/cygwin ChangeLog cygthread.cc cygthread ...
CVSROOT: /cvs/uberbaum
Module name: winsup
Changes by: cgf@sources.redhat.com 2002-10-13 11:16:33
Modified files:
cygwin : ChangeLog cygthread.cc cygthread.h dcrt0.cc
exceptions.cc pinfo.cc shared.cc shared_info.h
spawn.cc window.cc winsup.h
Log message:
* cygthread.cc (cygthread::stub): Don't create event for long-running threads.
Initialize thread_sync event here which is used to Suspend using an event
rather than relying on SuspendThread/ResumeThread.
(cygthread::init): Save handle to runner thread for future termination.
(cygthread::cygthread): Only resume thread when it is actually suspended.
Otherwise signal thread completion event.
(cygthread::terminate): Forcibly terminate runner thread and any helper
threads. Call DisableThreadLibrary calls if execing.
* cygthread.h (cygthread::thread_sync): Declare.
* dcrt0.cc (do_exit): Eliminate calls to obsolete window_terminate and
shared_terminate.
* exceptions.cc (events_terminate): Don't bother closing title_mutex since it
is going away anyway.
* pinfo.cc (_pinfo::exit): Call cygthread::terminate to ensure that threads are
shut down before process exit or otherwise strange races seem to occur.
* shared.cc (shared_terminate): Eliminate.
* shared.h (shared_terminate): Eliminate declaration.
* winsup.h (window_terminate): Eliminate declaration.
* spawn.cc (spawn_guts): Call cygthread::terminate early in process if execing.
Call DisableThreadLibrary calls if execing.
* window.cc (Winmain): Call ExitThread to force exit.
(window_terminate): Eliminate.
* dcrt0.cc (do_exit): Track exit state more closely.
Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.1526&r2=1.1527
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/cygthread.cc.diff?cvsroot=uberbaum&r1=1.12&r2=1.13
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/cygthread.h.diff?cvsroot=uberbaum&r1=1.6&r2=1.7
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/dcrt0.cc.diff?cvsroot=uberbaum&r1=1.156&r2=1.157
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/exceptions.cc.diff?cvsroot=uberbaum&r1=1.127&r2=1.128
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/pinfo.cc.diff?cvsroot=uberbaum&r1=1.62&r2=1.63
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/shared.cc.diff?cvsroot=uberbaum&r1=1.53&r2=1.54
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/shared_info.h.diff?cvsroot=uberbaum&r1=1.22&r2=1.23
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/spawn.cc.diff?cvsroot=uberbaum&r1=1.115&r2=1.116
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/window.cc.diff?cvsroot=uberbaum&r1=1.22&r2=1.23
http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/winsup.h.diff?cvsroot=uberbaum&r1=1.103&r2=1.104