summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2015-10-10 16:21:41 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2015-10-10 16:25:45 +0200
commitd8be6ec46e17526da4588635f51e260e8de5daa0 (patch)
tree122de86da6269f97068406de8228f7c7620b1356
parent2a224479ae9752e9490b0f7045194ae6d6706c51 (diff)
Make _hurd_raise_signal return errors
* hurd/hurd-raise.c (_hurd_raise_signal): Set errno to error returned by __msg_sig_post. * hurd/hurd/signal.h (_hurd_raise_signal): Add int return type.
-rw-r--r--hurd/hurd-raise.c8
-rw-r--r--hurd/hurd/signal.h4
2 files changed, 8 insertions, 4 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 8355d67ff3..9798681853 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -234,8 +234,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). */