]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Make _hurd_raise_signal return errors
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 10 Oct 2015 14:21:41 +0000 (16:21 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 10 Oct 2015 14:21:41 +0000 (16:21 +0200)
* 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.

ChangeLog
hurd/hurd-raise.c
hurd/hurd/signal.h

index 2e12f19c4792ef0d9779a8dec745796b09eaebd2..b1dd4f04feafbd3ef890573ff350ab11dd9280c7 100644 (file)
--- 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.
index df1e9880cf9e5cf4dcd9ef6fc47a8133a5dc65e6..3ae6b571474066df9a40314cb70bd07b3c7ab022 100644 (file)
    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);
 }
index 81d049c343a95725f51d960094ea09c37eb276bb..abceee2d3cfa2edf0cca9ba6648d3c8253395f5c 100644 (file)
@@ -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).  */