* spinlock.h: New file.

(spinlock): New class.
* shared.cc: Include spinlock.h.
(memory_init): Use new spinlock methods rather than roll-your-own.  Time out
after ten seconds if shared_mem_inited is not initialized.
* sync.h: Update copyright.  Remove vanity attribution.
* sigproc.cc (sigproc_terminate): Avoid attempts to kill the signal thread
while we're still initializing or suffer a deadlock.
This commit is contained in:
Christopher Faylor
2010-03-13 19:34:35 +00:00
parent 084ea5108e
commit f8af64be87
5 changed files with 78 additions and 36 deletions

View File

@@ -494,7 +494,9 @@ sigproc_terminate (exit_states es)
{
exit_states prior_exit_state = exit_state;
exit_state = es;
if (prior_exit_state >= ES_FINAL)
if (!cygwin_finished_initializing)
sigproc_printf ("don't worry about signal thread");
else if (prior_exit_state >= ES_FINAL)
sigproc_printf ("already performed");
else
{