Back to index

glibc  2.9
Functions | Variables
sigsuspend.c File Reference
#include <errno.h>
#include <signal.h>
#include <unistd.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>

Go to the source code of this file.


static int do_sigsuspend (const sigset_t *set)
int __sigsuspend (sigset_t *set) const
 libc_hidden_def (weak_alias(__sigsuspend)


int __libc_missing_rt_sigs

Function Documentation

int __sigsuspend ( sigset_t set) const

Definition at line 70 of file sigsuspend.c.

    return do_sigsuspend (set);

  int oldtype = LIBC_CANCEL_ASYNC ();

  int result = do_sigsuspend (set);

  LIBC_CANCEL_RESET (oldtype);

  return result;

Here is the call graph for this function:

static int do_sigsuspend ( const sigset_t set) [static]

Definition at line 38 of file sigsuspend.c.

# ifdef __NR_rt_sigsuspend
  /* First try the RT signals.  */
  if (!__libc_missing_rt_sigs)
      /* XXX The size argument hopefully will have to be changed to the
        real size of the user-level sigset_t.  */
      int saved_errno = errno;
      int result = INLINE_SYSCALL (rt_sigsuspend, 2,
                               CHECK_SIGSET (set), _NSIG / 8);
      if (result >= 0 || errno != ENOSYS)
       return result;

      __set_errno (saved_errno);
      __libc_missing_rt_sigs = 1;
# endif

  return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]);

Here is the call graph for this function:

Here is the caller graph for this function:

libc_hidden_def ( weak_alias __sigsuspend)

Definition at line 84 of file sigsuspend.c.

  return do_sigsuspend (set);

Here is the call graph for this function:

Variable Documentation

Definition at line 35 of file sigaction.c.