I have read number blogs for use of sa_mask field of sigaction. http://man7.org/linux/man-pages/man2/sigaction.2.htmlhttps://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/apis/sigactn.htmI need clarification about sa_mask field of sigaction.As per my understanding, i can add list of signal/ empty list/ full list using sigemptyset(), sigfillset(), sigaddset() function to add signal to sa_mask that we want to blocked for my all the threads (entire process) which execute signal handler. e.g. if ThreadA calls signal handler, then it's own sigmask set will be additionally add all signal set in sa_mask.similarly if TreadB calls signal handler , then its own individual sigmask will additionally add all signal set in sa_mask.am I correct?Here, in sa_mask explanation of http://man7.org/linux/man-pages/man2/sigaction.2.html its written that, In addition, the signal which triggered the handler will be blocked, unless the SA_NODEFER flag is used.what does it means?does it means, the signal which called signal handler will be also be added in block list of signal mask of a thread that invoke signal handler if SA_NODEFER is not set during registering signal handler ?Please help me out for simple explanation of sa_mask inside sigaction and sa_flags specially SA_NODEFER  flag use.Thanks in advance !!
understanding use of sa_mask in sigaction
linux;signals;posix;multithreading;thread