Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2002-10-09 09:55:40 +0400
committerChristopher Faylor <me@cgf.cx>2002-10-09 09:55:40 +0400
commitc4ec64d76b9650b92d4c9f566fbac788c2d3fd46 (patch)
tree2b29dcff1825894fc9ac805e83546c6f3e0772f2 /winsup/cygwin/cygthread.h
parent7da53596cf1385616721180b48b2159802045d1c (diff)
* cygthread.cc (cygthread::stub): Don't create an event for "cygself" threads.
Assume that they exit via an ExitThread call. * cygthread.h (cygthread::SetThreadPriority): New function. (cygthread::zap_h): New function. * dcrt0.cc (do_exit): Move cygthread::terminate earlier and establish exit_state guard. * fhandler.h (fhandler_tty_master::output_thread): Delete. * fhandler_tty.cc (fhandler_tty_master::init): Set priority for threads via method. Zap handles when done. Don't treat process_output specially. (process_output): Call ExitThread directly. (fhandler_tty_master::fixup_after_fork): Don't worry about output_thread. (fhandler_tty_master::fixup_after_exec): Ditto. * sigproc.cc (proc_terminate): Don't detach from hwait_subproc. Just let it exit. (sigproc_init): Close thread handle after initialization. (wait_sig): Use GetCurrentThread() as SetThreadPriority call rather than *event* handle. Call ExitThread directly on termination. (wait_subproc): Call ExitThread directly on termination. * tty.cc (tty_list::terminate): Don't attempt t detach from output_thread.
Diffstat (limited to 'winsup/cygwin/cygthread.h')
-rw-r--r--winsup/cygwin/cygthread.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/cygthread.h b/winsup/cygwin/cygthread.h
index b55aec90c..5ea74b38f 100644
--- a/winsup/cygwin/cygthread.h
+++ b/winsup/cygwin/cygthread.h
@@ -34,6 +34,13 @@ class cygthread
static void * freerange ();
void exit_thread ();
static void terminate ();
+ bool SetThreadPriority (int nPriority) {return ::SetThreadPriority (h, nPriority);}
+ void zap_h ()
+ {
+ (void) CloseHandle (h);
+ h = NULL;
+ }
+
};
#define cygself NULL