]> sourceware.org Git - newlib-cygwin.git/commitdiff
* sigproc.cc (_cygtls::remove_wq): Reset thread_ev inside of lock. Set to NULL
authorChristopher Faylor <me@cgf.cx>
Sun, 9 Mar 2014 19:25:38 +0000 (19:25 +0000)
committerChristopher Faylor <me@cgf.cx>
Sun, 9 Mar 2014 19:25:38 +0000 (19:25 +0000)
when done.

winsup/cygwin/ChangeLog
winsup/cygwin/sigproc.cc

index ffa30dd59461a69ab8d4016488981300efb2095c..f0715cc8b34470c9e60bc665815be7aec954c116 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
+
+       * sigproc.cc (_cygtls::remove_wq): Reset thread_ev inside of lock.  Set
+       to NULL when done.
+
 2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 
        * fhandler_console.cc (fhandler_console::char_command): Properly use
index 71b407d28509155c135c86867247482350c41440..5525271ca15ac5a4028edb5c68e12bc40d5655d3 100644 (file)
@@ -336,6 +336,8 @@ _cygtls::remove_wq (DWORD wait)
       if (exit_state < ES_FINAL && waitq_head.next && sync_proc_subproc
          && sync_proc_subproc.acquire (wait))
        {
+         ForceCloseHandle1 (wq.thread_ev, wq_ev);
+         wq.thread_ev = NULL;
          for (waitq *w = &waitq_head; w->next != NULL; w = w->next)
            if (w->next == &wq)
              {
@@ -344,7 +346,6 @@ _cygtls::remove_wq (DWORD wait)
              }
          sync_proc_subproc.release ();
        }
-      ForceCloseHandle1 (wq.thread_ev, wq_ev);
     }
 
 }
This page took 0.034456 seconds and 5 git commands to generate.