summaryrefslogtreecommitdiff
path: root/glibc
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2011-07-20 21:53:36 +0200
committerThomas Schwinge <tschwinge@gnu.org>2011-07-20 21:53:36 +0200
commit9c5d5fdd54d403540766dae48f8f7875dbed551b (patch)
tree9f6d1215079cd0d129666ce64837dfb53cb3356a /glibc
parente50143a1d90ad43887baaf4e55ebefe20d815ddb (diff)
parent272a3459d4c22258d637115c20d7c938cf489d32 (diff)
Merge remote branch 'flubber--anongit/master'
Diffstat (limited to 'glibc')
-rw-r--r--glibc/signal.mdwn5
-rw-r--r--glibc/signal/signal_thread.mdwn7
2 files changed, 11 insertions, 1 deletions
diff --git a/glibc/signal.mdwn b/glibc/signal.mdwn
index 84153cff..727247ac 100644
--- a/glibc/signal.mdwn
+++ b/glibc/signal.mdwn
@@ -10,8 +10,11 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
The [[*UNIX signalling mechanism*|unix/signal]] is implemented for the GNU Hurd
-by means of a separate *[[signal_thread]]* that is part of every
+by means of a separate *[[signal_thread]]* that is part of every user-space
[[process]]. This makes handling of signals a separate thread of control.
+[[GNU Mach|microkernel/mach/gnumach]] itself has no idea what a signal is and
+`kill` is not a [[system_call]] (as it typically is in a [[UNIX]] system): it's
+implemented in [[glibc]].
* [[SA_SIGINFO, SA_SIGACTION|open_issues/sa_siginfo_sa_sigaction]]
diff --git a/glibc/signal/signal_thread.mdwn b/glibc/signal/signal_thread.mdwn
index 28855dbd..5341b1ab 100644
--- a/glibc/signal/signal_thread.mdwn
+++ b/glibc/signal/signal_thread.mdwn
@@ -8,6 +8,13 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
+For delivering a signal, Mach forwards an `msg_sig_post` message from the
+invoker of `kill` to the target process. The target process' [[signal_thread]]
+job is it to listen to such messages and to set up signal handler contexts in
+other threads.
+
+---
+
[[!tag open_issue_documentation]]
<braunr> bugs around signals are very tricky