fix possible failure-to-wake deadlock with robust mutexes
[musl] / src / signal / x86_64 / sigsetjmp.s
1 /* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
2 .global sigsetjmp
3 .global __sigsetjmp
4 .type sigsetjmp,@function
5 .type __sigsetjmp,@function
6 sigsetjmp:
7 __sigsetjmp:
8         andl %esi,%esi
9         movq %rsi,64(%rdi)
10         jz 1f
11         pushq %rdi
12         leaq 72(%rdi),%rdx
13         xorl %esi,%esi
14         movl $2,%edi
15         call sigprocmask
16         popq %rdi
17 1:      jmp setjmp