Back to index

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

Go to the source code of this file.

Functions

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: