Commit Graph

5769 Commits

Author SHA1 Message Date
Christopher Faylor 8656ee07ef * exceptions.cc (interruptible): Make a little more structured.
(call_handler): Allow signals to be sent even if signalled thread is stopped.
Change order of signal_arrived arming/waiting threads clearing to eliminate a
race.
(reset_signal_arrived): New helper function.
* malloc.cc (malloc_init): Use mutos so that signal handler can keep track of
who owns the lock.
(__malloc_lock): Ditto.
(__malloc_unlock): Ditto.
* sync.h (new_muto): Actually use a muto for the "buffer".
* Makefile.in: Fix a dependency.
2000-02-26 01:11:54 +00:00
DJ Delorie 52aaab48f4 * Makefile.in: fix "make check" support and cygrun. 2000-02-26 01:06:48 +00:00
Christopher Faylor ab1a69347d Eliminate RCS stuff. 2000-02-24 20:59:30 +00:00
Christopher Faylor 9edba13851 *** empty log message *** 2000-02-24 20:57:40 +00:00
Christopher Faylor faecc585c2 * syscalls.c (_read): Clear errno before doing any read operation. 2000-02-24 20:57:03 +00:00
Christopher Faylor d3bda1df95 * exceptions.cc (call_handler): Use new muto linked list to look for all
potential mutos owned by suspended thread.  Clear waiting threads while thread
is stopped.
(proc_subproc): Clarify debugging output.
* sync.h (class muto): Add 'next' field.
(new_muto): Keep linked list alive.
2000-02-24 19:54:01 +00:00
Christopher Faylor 9aa07a8f60 Fix final round of gcc warnings relating to unused parameters.
* debug.cc (iscygthread): New function.
* debug.h: Declare it.
* exceptions.cc (set_process_mask): Flush pending signals.
(handle_sigsuspend): No need to flush pending signals.
(call_handler): Refine previous tests of muto ownership.  Only clear wait()'s
when we have definitely responded to a signal.
* fhandler_console.cc (fhandler_console::read): Don't set EINTR if executing in
a "cygwin" thread.
* sigproc.cc (proc_subproc): Use second argument to control whether CLEARWAIT
actually sets "signalled" flag.
* sync.h (muto): Add 'unstable' method.
2000-02-24 06:45:32 +00:00
Christopher Faylor 65b9598470 Fix final round of gcc warnings relating to unused parameters. 2000-02-24 03:53:22 +00:00
Christopher Faylor 2528588a75 Remove RCS cruft. 2000-02-24 03:03:04 +00:00
Christopher Faylor 41f42725a2 * hinfo.cc (hinfo::extend): Clean up debugging output. 2000-02-24 03:00:37 +00:00
Christopher Faylor f02f1f1444 * exceptions.cc (interruptible): Change method for determining if something is
interruptible.
(call_handler): Avoid suspending a thread if it owns a mutex.  Only set
signal_arrived if the thread was actually interrupted.
(events_init): Initialize module information needed by interruptible().
(sigdelayed): Don't call sig_dispatch_pending since it could screw up
* init.cc (dll_entry): Record module handle of main for use by interruptible().
(proc_subproc): Reorganize handling of terminated child so that the bulk of the
processing comes from the signal thread.
(wait_sig): Force processing of waiting threads if SIGCHLD is not processed.
* sync.cc (muto::release): Set tid == 0 after lock is released or signal
processor will be confused.
2000-02-24 02:49:44 +00:00
Christopher Faylor 01cf5d0f5d Respond to more g++ warnings relating to initializing structures. 2000-02-23 04:07:13 +00:00
Christopher Faylor c90d620db8 * fhandler.cc (set_inheritance): Revert previous patch which got rid of 'name'
parameter.
2000-02-21 23:38:57 +00:00
Christopher Faylor 9cec3d45aa Respond to a multitude of g++ warnings. 2000-02-21 05:20:38 +00:00
Christopher Faylor 83845eaa21 Update. 2000-02-21 03:18:37 +00:00
Christopher Faylor 2b706f3f6e * environ.cc (getwinenv): Make __stdcall.
(winenv): Ditto.
* malloc.cc (strdup): New function.  Occludes newlib version.
(_strdup_r): Ditto.
* winsup.h: Reflect above __stdcall changes.
2000-02-21 03:13:24 +00:00
Corinna Vinschen 486e3de201 *** empty log message *** 2000-02-21 00:31:55 +00:00
Christopher Faylor 1fd5e000ac import winsup-2000-02-17 snapshot 2000-02-17 19:38:33 +00:00
Christopher Faylor 369d8a8fd5 import winsup-2000-02-17 snapshot 2000-02-17 19:38:31 +00:00