diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2015-10-10 16:21:41 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2015-10-10 16:21:41 +0200 |
commit | ee0976f7fc61f43a7140e100b36be1e05a965c67 (patch) | |
tree | e5e9b7bdf5daf5d345ce3ac8767851e949aa0903 | |
parent | 39b3985bed6848720e82923e5021a6b303515558 (diff) | |
download | glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.zip glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.tar.gz glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.tar.bz2 |
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-- | 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
@@ -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 df1e988..3ae6b57 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 81d049c..abceee2 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). */ |