From 01d9b1612c8658d4ebe4243462edea09dffc03e9 Mon Sep 17 00:00:00 2001
From: Corinna Vinschen <corinna@vinschen.de>
Date: Tue, 8 Feb 2005 16:56:02 +0000
Subject: [PATCH] 	* cygthread.cc (cygthread::detach): Just test thread
 handle after 	signal arrived, don't wait infinitely for it.

---
 winsup/cygwin/ChangeLog    | 5 +++++
 winsup/cygwin/cygthread.cc | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 4bfe15e86..c0bf1ff37 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-08  Corinna Vinschen  <corinna@vinschen.de>
+
+	* cygthread.cc (cygthread::detach): Just test thread handle after
+	signal arrived, don't wait infinitely for it.
+
 2005-02-08  Christopher Faylor  <cgf@timesys.com>
 
 	* pipe.cc (fhandler_pipe::read): Remove hold over from old read_state
diff --git a/winsup/cygwin/cygthread.cc b/winsup/cygwin/cygthread.cc
index c6ae0249c..4c14f1954 100644
--- a/winsup/cygwin/cygthread.cc
+++ b/winsup/cygwin/cygthread.cc
@@ -333,7 +333,7 @@ cygthread::detach (HANDLE sigwait)
 	    signalled = false;
 	  else if (res != WAIT_OBJECT_0 + 1)
 	    api_fatal ("WFMO failed waiting for cygthread '%s'", __name);
-	  else if ((res = WaitForSingleObject (*this, INFINITE)) == WAIT_OBJECT_0)
+	  else if ((res = WaitForSingleObject (*this, 0)) == WAIT_OBJECT_0)
 	    signalled = false;
 	  else
 	    {