aboutsummaryrefslogtreecommitdiff
path: root/hurd/hurd-raise.c
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:21:41 +0200
commitee0976f7fc61f43a7140e100b36be1e05a965c67 (patch)
treee5e9b7bdf5daf5d345ce3ac8767851e949aa0903 /hurd/hurd-raise.c
parent39b3985bed6848720e82923e5021a6b303515558 (diff)
downloadglibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.tar
glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.tar.gz
glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.tar.bz2
glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.zip
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.
Diffstat (limited to 'hurd/hurd-raise.c')
-rw-r--r--hurd/hurd-raise.c8
1 files changed, 6 insertions, 2 deletions
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);
}