dwww Home | Manual pages | Find package

PTHREAD_ATTR_SETSIGMASK_NP(Linux Programmer's ManPTHREAD_ATTR_SETSIGMASK_NP(3)

NAME
       pthread_attr_setsigmask_np, pthread_attr_getsigmask_np - set/get signal
       mask attribute in thread attributes object

SYNOPSIS
       #define _GNU_SOURCE             /* See feature_test_macros(7) */
       #include <pthread.h>

       int pthread_attr_setsigmask_np(pthread_attr_t *attr,
                                      const sigset_t *sigmask);
       int pthread_attr_getsigmask_np(const pthread_attr_t *attr,
                                      sigset_t *sigmask);

       Compile and link with -pthread.

DESCRIPTION
       The pthread_attr_setsigmask_np() function sets the signal  mask  attri-
       bute  of  the thread attributes object referred to by attr to the value
       specified in *sigmask.  If sigmask is specified as NULL, then  any  ex-
       isting signal mask attribute in attr is unset.

       The  pthread_attr_getsigmask_np()  function returns the signal mask at-
       tribute of the thread attributes object referred to by attr in the buf-
       fer  pointed  to by sigmask.  If the signal mask attribute is currently
       unset,   then    this    function    returns    the    special    value
       PTHREAD_ATTR_NO_SIGMASK_NP as its result.

RETURN VALUE
       The  pthread_attr_setsigmask_np()  function  returns 0 on success, or a
       nonzero error number on failure.

       the  pthread_attr_getsigmask_np()  function   returns   either   0   or
       PTHREAD_ATTR_NO_SIGMASK_NP.  When 0 is returned, the signal mask attri-
       bute is returned via sigmask.  A return value  of  PTHREAD_ATTR_NO_SIG-
       MASK_NP indicates that the signal mask attribute is not set in attr.

       On error, these functions return a positive error number.

ERRORS
       ENOMEM (pthread_attr_setsigmask_np()) Could not allocate memory.

VERSIONS
       These functions are provided by glibc since version 2.32.

ATTRIBUTES
       For  an  explanation  of  the  terms  used  in  this  section,  see at-
       tributes(7).

       ┌───────────────────────────────┬───────────────┬─────────┐
       │InterfaceAttributeValue   │
       ├───────────────────────────────┼───────────────┼─────────┤
       │pthread_attr_setsigmask_np(),  │ Thread safety │ MT-Safe │
       │pthread_attr_getsigmask_np()   │               │         │
       └───────────────────────────────┴───────────────┴─────────┘

CONFORMING TO
       These  functions are nonstandard GNU extensions; hence the suffix "_np"
       (nonportable) in the names.

NOTES
       The signal mask attribute determines the signal mask that will  be  as-
       signed to a thread created using the thread attributes object attr.  If
       this attribute is not set, then a thread created using  attr  will  in-
       herit a copy of the creating thread's signal mask.

       For  more  details on signal masks, see sigprocmask(2).  For a descrip-
       tion of a set of macros that can be used to manipulate and inspect sig-
       nals sets, see sigsetops(3).

       In the absence of pthread_attr_setsigmask_np() it is possible to create
       a thread with a desired signal mask as follows:

       • The creating thread uses pthread_sigmask(3) to save its current  sig-
         nal mask and set its mask to block all signals.

       • The new thread is then created using pthread_create(); the new thread
         will inherit the creating thread's signal mask.

       • The new thread sets its  signal  mask  to  the  desired  value  using
         pthread_sigmask(3).

       • The creating thread restores its signal mask to the original value.

       Following  the  above steps, there is no possibility for the new thread
       to receive a signal before it has adjusted its signal mask to  the  de-
       sired value.

SEE ALSO
       sigprocmask(2),  pthread_attr_init(3), pthread_sigmask(3), pthreads(7),
       signals(7)

COLOPHON
       This page is part of release 5.10 of the Linux  man-pages  project.   A
       description  of  the project, information about reporting bugs, and the
       latest    version    of    this    page,    can     be     found     at
       https://www.kernel.org/doc/man-pages/.

Linux                             2020-11-01     PTHREAD_ATTR_SETSIGMASK_NP(3)

Generated by dwww version 1.14 on Thu Jan 23 02:20:49 CET 2025.