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>2003-11-29 01:13:57 +0300
committerChristopher Faylor <me@cgf.cx>2003-11-29 01:13:57 +0300
commit13584f077b708083b9e1cba78ff580c7bae6130e (patch)
tree51b7e9b3c173d1e5234af8b57413814501589f07 /winsup/cygwin/how-signals-work.txt
parent74d893b13cb75408ec3ffe2b399787b9b78fa979 (diff)
* pinfo.h (_pinfo::getsig): Remove obsolete function, here and throughout.
* exceptions.cc: Ditto. * fhandler_termios.cc: Ditto. * signal.cc: Ditto. * sigproc.cc: Ditto. * Makefile.in: Revert previous change which made a cygwin.din newer than a version.h a warning rather than an error.
Diffstat (limited to 'winsup/cygwin/how-signals-work.txt')
-rw-r--r--winsup/cygwin/how-signals-work.txt19
1 files changed, 2 insertions, 17 deletions
diff --git a/winsup/cygwin/how-signals-work.txt b/winsup/cygwin/how-signals-work.txt
index aab65f6d7..b890e31a8 100644
--- a/winsup/cygwin/how-signals-work.txt
+++ b/winsup/cygwin/how-signals-work.txt
@@ -1,25 +1,10 @@
Copyright 2001 Red Hat Inc., Christopher Faylor
-[this information is currently obsolete -- sorry]
How do signals work?
On process startup, cygwin starts a secondary thread that deals with signals.
-This thread contains a loop which blocks waiting for one of three events:
-
-1) sigcatch_main - a semaphore which, when incremented, indicates that a
- signal may be available for the main thread. The caller waits for the
- signal to be delivered before returning.
-
-2) sigcatch_nonmain - a semaphore which , when incremented, indicates that
- a signal is available for a non-main thread (currently this is not truly
- implemented). The caller waits for the signal to be delivered before
- returning.
-
-3) sigcatch_nosync - a semaphore which, when incremented, indicates that
- a signal may be available for the main thread. The caller does not wait
- for the delivery of the signal before returning.
-
-So, the signal handler blocks waiting for one of these three semaphores.
+This thread contains a loop which blocks waiting for information to show up
+on a pipe whose handle (sendsig) is currently stored in _pinfo (this may change).
If one of these is activated, then the the signal handler inspects an
array of integers looking for a non-zero value. The array corresponds