Index: fusl/src/signal/sigsetjmp_tail.c |
diff --git a/fusl/src/signal/sigsetjmp_tail.c b/fusl/src/signal/sigsetjmp_tail.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..78762aa2bf8d141737a4ba52ed34fac94308aa52 |
--- /dev/null |
+++ b/fusl/src/signal/sigsetjmp_tail.c |
@@ -0,0 +1,11 @@ |
+#include <setjmp.h> |
+#include <signal.h> |
+#include "syscall.h" |
+ |
+__attribute__((__visibility__("hidden"))) |
+int __sigsetjmp_tail(sigjmp_buf jb, int ret) |
+{ |
+ void *p = jb->__ss; |
+ __syscall(SYS_rt_sigprocmask, SIG_SETMASK, ret?p:0, ret?0:p, _NSIG/8); |
+ return ret; |
+} |