Back to index

glibc  2.9
ptlongjmp.c File Reference
#include <setjmp.h>
#include "pthread.h"
#include "internals.h"

Go to the source code of this file.


void __libc_siglongjmp (sigjmp_buf env, int val) __attribute__((noreturn))
void __libc_longjmp (sigjmp_buf env, int val) __attribute__((noreturn))

Function Documentation

void __libc_longjmp ( sigjmp_buf  env,
int  val 
void __libc_siglongjmp ( sigjmp_buf  env,
int  val 

Definition at line 28 of file longjmp.c.

  /* Perform any cleanups needed by the frames being unwound.  */
  _longjmp_unwind (env, val);

  if (env[0].__mask_was_saved)
    /* Restore the saved signal mask.  */
    (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
                       (sigset_t *) NULL);

  /* Call the machine-dependent function to restore machine state.  */
  __longjmp (env[0].__jmpbuf, val ?: 1);

Here is the call graph for this function: