* ntdll.h (IsEventSignalled): New inline function.
* cygthread.cc (cygthread::terminate_thread): Use IsEventSignalled in place of WaitForSingleObject on event with 0 timeout. * fhandler.cc (fhandler_base_overlapped::has_ongoing_io): Ditto. * fhandler_fifo.cc (fhandler_fifo::open_nonserver): Ditto. (fhandler_fifo::wait): Ditto. * fhandler_termios.cc (fhandler_termios::bg_check): Ditto. * select.cc (verify_tty_slave): Ditto. * thread.cc (pthread::testcancel): Ditto.
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/* cygthread.cc
|
||||
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008,
|
||||
2009 2010 Red Hat, Inc.
|
||||
2009, 2010, 2011 Red Hat, Inc.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
@ -12,6 +12,7 @@ details. */
|
||||
#include <stdlib.h>
|
||||
#include "sigproc.h"
|
||||
#include "cygtls.h"
|
||||
#include "ntdll.h"
|
||||
|
||||
#undef CloseHandle
|
||||
|
||||
@ -298,7 +299,7 @@ cygthread::terminate_thread ()
|
||||
if (!inuse || exiting)
|
||||
goto force_notterminated;
|
||||
|
||||
if (ev && !(terminated = WaitForSingleObject (ev, 0) != WAIT_OBJECT_0))
|
||||
if (ev && !(terminated = !IsEventSignalled (ev)))
|
||||
ResetEvent (ev);
|
||||
|
||||
MEMORY_BASIC_INFORMATION m;
|
||||
|
Reference in New Issue
Block a user