aboutsummaryrefslogtreecommitdiff
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
parent39b3985bed6848720e82923e5021a6b303515558 (diff)
downloadglibc-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--ChangeLog6
-rw-r--r--hurd/hurd-raise.c8
-rw-r--r--hurd/hurd/signal.h4
3 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e12f19..b1dd4f0 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 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). */