1*c9945492SAndroid Build Coastguard Worker #include <setjmp.h> 2*c9945492SAndroid Build Coastguard Worker #include <signal.h> 3*c9945492SAndroid Build Coastguard Worker #include "syscall.h" 4*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h" 5*c9945492SAndroid Build Coastguard Worker siglongjmp(sigjmp_buf buf,int ret)6*c9945492SAndroid Build Coastguard Worker_Noreturn void siglongjmp(sigjmp_buf buf, int ret) 7*c9945492SAndroid Build Coastguard Worker { 8*c9945492SAndroid Build Coastguard Worker /* If sigsetjmp was called with nonzero savemask flag, the address 9*c9945492SAndroid Build Coastguard Worker * longjmp will return to is inside of sigsetjmp. The signal mask 10*c9945492SAndroid Build Coastguard Worker * will then be restored in the returned-to context instead of here, 11*c9945492SAndroid Build Coastguard Worker * which matters if the context we are returning from may not have 12*c9945492SAndroid Build Coastguard Worker * sufficient stack space for signal delivery. */ 13*c9945492SAndroid Build Coastguard Worker longjmp(buf, ret); 14*c9945492SAndroid Build Coastguard Worker } 15