x SuSE Linux 13.1-RELEASE x x SuSE Linux 13.1-RELEASEx 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. ATTRIBUTES For an explanation of the terms used in this section, see at- tributes(7). +--------------------------------------------+---------------+---------+ |Interface | Attribute | Value | +--------------------------------------------+---------------+---------+ |pthread_attr_setsigmask_np(), | Thread safety | MT-Safe | |pthread_attr_getsigmask_np() | | | +--------------------------------------------+---------------+---------+ STANDARDS GNU; hence the suffix "_np" (nonportable) in the names. HISTORY glibc 2.32. 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: o The creating thread uses pthread_sigmask(3) to save its current sig- nal mask and set its mask to block all signals. o The new thread is then created using pthread_create(); the new thread will inherit the creating thread's signal mask. o The new thread sets its signal mask to the desired value using pthread_sigmask(3). o 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.04 2023-03-30 pthread_attr_setsigmask_np(3)
Want to link to this manual page? Use this URL:
<http://star2.abcm.com/cgi-bin/bsdi-man?query=pthread_attr_setsigmask_np&sektion=3&manpath=>