summary refs log tree commit diff
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.gz
glibc-ee0976f7fc61f43a7140e100b36be1e05a965c67.tar.xz
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);
 }