blob: 6a5f6f158e3756c3a9f3ba70f0a19806968a1be5 (
plain) (
tree)
|
|
#include <setjmp.h>
#include <signal.h>
#include <stdlib.h>
/* !!! This function will not work unless the compiler performs
* tail call optimization. Machine-specific asm versions should
* be created instead even though the workaround (tail call)
* is entirely non-machine-specific... */
int sigsetjmp(sigjmp_buf buf, int save)
{
if ((buf->__fl = save))
pthread_sigmask(SIG_SETMASK, 0, (sigset_t *)buf->__ss);
return setjmp(buf);
}
|