summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2015-10-10 16:26:17 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2015-10-10 16:26:17 +0200
commitbff79c3ffb608c5466bd14b0425944e99cb5e227 (patch)
tree9b1fcf902a293270d60af54ee98fa5b90bc54335
parentc01ae594d22d8751bb5fb3fc5b3a368d42eb1488 (diff)
parentaea4319c2632ccc1eefb44cdb2605bbdcf4a7be8 (diff)
Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into tschwinge/Roger_Whittaker
-rw-r--r--hurd/hurd-raise.c8
-rw-r--r--hurd/hurd/signal.h4
-rw-r--r--hurd/hurdsig.c2
3 files changed, 9 insertions, 5 deletions
diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c
index 23e5dd6974..94abedfc12 100644
--- a/hurd/hurd-raise.c
+++ b/hurd/hurd-raise.c
@@ -24,10 +24,12 @@
If SS is not NULL it is the sigstate for the calling thread;
SS->lock is held on entry and released before return. */
-void
+int
_hurd_raise_signal (struct hurd_sigstate *ss,
int signo, const struct hurd_signal_detail *detail)
{
+ error_t err;
+
if (ss == NULL)
{
ss = _hurd_self_sigstate ();
@@ -46,5 +48,7 @@ _hurd_raise_signal (struct hurd_sigstate *ss,
already marked the signal as pending for the particular thread we
want. Generating the signal with an RPC might deliver it to some
other thread. */
- __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
+ err = __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
+
+ return __hurd_fail(err);
}
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index d94fb3cbd4..73bf976b7d 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -280,8 +280,8 @@ extern void _hurdsig_fault_init (void);
sigstate SS points to. If SS is a null pointer, this instead affects
the calling thread. */
-extern void _hurd_raise_signal (struct hurd_sigstate *ss, int signo,
- const struct hurd_signal_detail *detail);
+extern int _hurd_raise_signal (struct hurd_sigstate *ss, int signo,
+ const struct hurd_signal_detail *detail);
/* Translate a Mach exception into a signal (machine-dependent). */
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
index 08f754c4e8..5b63a06e15 100644
--- a/hurd/hurdsig.c
+++ b/hurd/hurdsig.c
@@ -352,7 +352,7 @@ interrupted_reply_port_location (thread_t thread,
mach_port_t *portloc = &THREAD_TCB(thread, thread_state)->reply_port;
if (sigthread && _hurdsig_catch_memory_fault (portloc))
- /* Faulted trying to read the stack. */
+ /* Faulted trying to read the TCB. */
return NULL;
/* Fault now if this pointer is bogus. */