summaryrefslogtreecommitdiff
path: root/hurd/sigunwind.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-10-09 20:02:57 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-10-09 20:02:57 +0200
commit067f0596950ae438160977498f9780f63c0396dd (patch)
tree018bd9be78c8ef34f76ca6b27ab91417df02121c /hurd/sigunwind.c
parentddbea09d019bb2d2643c98e53c81657deaaf703d (diff)
parent7bb5f8a836b916d6ebf7b6921b136e99cea2442d (diff)
Merge branch 'baseline' into refs/top-bases/t/gsync-libc-merge
Diffstat (limited to 'hurd/sigunwind.c')
-rw-r--r--hurd/sigunwind.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hurd/sigunwind.c b/hurd/sigunwind.c
index 7c586d9bf3..a999173c50 100644
--- a/hurd/sigunwind.c
+++ b/hurd/sigunwind.c
@@ -1,5 +1,5 @@
/* longjmp cleanup function for unwinding past signal handlers.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -50,7 +50,8 @@ _hurdsig_longjmp_from_handler (void *data, jmp_buf env, int val)
*reply_port = MACH_PORT_DEAD;
__mach_port_destroy (__mach_task_self (), port);
}
- *reply_port = scp->sc_reply_port;
+ if (scp->sc_reply_port)
+ __mach_port_destroy (__mach_task_self (), scp->sc_reply_port);
}
__spin_lock (&ss->lock);