summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r--winsup/cygwin/ChangeLog28
1 files changed, 28 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f383b6d01..c1a576ff8 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,31 @@
+2002-10-13 Christopher Faylor <cgf@redhat.com>
+
+ * 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.
+
2002-10-10 Christopher Faylor <cgf@redhat.com>
* window.cc (gethwnd): Use SetThreadPriority method.