summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--hurd/hurdsig.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
index 595cab624a..5041ea079e 100644
--- a/hurd/hurdsig.c
+++ b/hurd/hurdsig.c
@@ -934,7 +934,10 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss,
                      dropped right away.  */
 		      || ss->actions[signo].sa_handler == SIG_IGN
 		      || ss->actions[signo].sa_handler == SIG_DFL))
-		goto deliver_pending;
+		{
+		  mutex_unlock (&_hurd_siglock);
+		  goto deliver_pending;
+		}
 	    __spin_unlock (&ss->lock);
 	  }
 	__mutex_unlock (&_hurd_siglock);