dwww Home | Manual pages | Find package

pthread_attr_setsigmask_np(Library Functions Manupthread_attr_setsigmask_np(3)

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

LIBRARY
       POSIX threads library (libpthread, -lpthread)

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);

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 since glibc 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()                │               │         │
       └────────────────────────────────────────────┴───────────────┴─────────┘

STANDARDS
       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 inher-
       it 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-
       nal 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),
       signal(7)

Linux man-pages 6.03              2023-02-05     pthread_attr_setsigmask_np(3)

Generated by dwww version 1.15 on Sat Jun 29 08:18:11 CEST 2024.