diff options
Diffstat (limited to 'glibc')
-rw-r--r-- | glibc/signal.mdwn | 5 | ||||
-rw-r--r-- | glibc/signal/signal_thread.mdwn | 7 |
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 |