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