diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | hurd/hurd-raise.c | 8 | ||||
-rw-r--r-- | hurd/hurd/signal.h | 4 |
3 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 2e12f19c47..b1dd4f04fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-10-10 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * 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. + 2015-10-09 Joseph Myers <joseph@codesourcery.com> * sysdeps/mips/mips32/libm-test-ulps: Regenerated. diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c index df1e9880cf..3ae6b57147 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 81d049c343..abceee2d3c 100644 --- a/hurd/hurd/signal.h +++ b/hurd/hurd/signal.h @@ -233,8 +233,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). */ |