1<assertions> 2 <assertion id="1" tag="ref:XSH6:42431:42432 pt:CX"> 3The current signal mask of the calling thread shall be replaced 4with the set of signals pointed to by sigmask, the calling thread 5will then be suspended until delivery of a signal whose action 6is either to execute a signal-catching function or to terminate 7the process. 8 </assertion> 9 <assertion id="2" tag="ref:XSH6:42433:42435 pt:CX"> 10Any other signals that may have been 11pending on the process shall not become pending on the thread. 12 </assertion> 13 <assertion id="3" tag="ref:XSH6:42436:42436 pt:CX"> 14sigsuspend shall never return if the action is to terminate the process. 15 </assertion> 16 <assertion id="4" tag="ref:XSH6:42436:42439 pt:CX"> 17sigsuspend( ) shall return after the signal-catching 18function returns, with the signal mask restored 19to the set that existed prior to the sigsuspend() 20call, if the action is to execute a signal-catching function. 21 </assertion> 22 <assertion id="5" tag="ref:XSH6:42440:42441 pt:CX"> 23The system shall enforce, without an error being indicated, 24not being able to block signals that cannot be ignored. 25 </assertion> 26 <assertion id="6" tag="ref:XSH6:42443:42444 pt:CX"> 27sigsuspend() suspends thread execution indefinitely, and therefore there is no 28successful completion return value. The value of -1 shall be 29returned and errno set to indicate the error in case of unsuccessful completion. 30 </assertion> 31 <assertion id="7" tag="ref:XSH6:42446:42448 pt:CX"> 32If a signal is caught by the calling process 33and control is returned from the signal-catching function, 34the sigsuspend( ) function shall fail if and set errno to EINTR. 35 </assertion> 36</assertions> 37