1<assertions> 2 <assertion id="1" tag="ref:XSH6:42290:42291 pt:RTS"> 3 The signal specified by signo shall be sent with the value specified by value to the 4 process specified by pid, when the sigqueue( ) function is called. 5 </assertion> 6 <assertion id="2" tag="ref:XSH6:42291:42293 pt:RTS"> 7 Error checking is performed but no signal is actually sent, if signo is zero (the null signal). 8 Using the null signal can be used to check the the validity of pid. 9 </assertion> 10 <assertion id="3" tag="ref:XSH6:42294:42295 pt:RTS"> 11 For a process to have permission to queue a signal to another process 12 the conditions required are the same as for the kill( ) function. 13 </assertion> 14 <assertion id="4" tag="ref:XSH6:42296:42298 pt:RTS"> 15 The signal shall be queued and sent to the receiving process, if SA_SIGINFO is set for signo and 16 if the resources were available to queue the signal. 17 </assertion> 18 <assertion id="5" tag="ref:XSH6:42299:42300 pt:RTS"> 19 signo shall be sent at least once to the receiving process, if SA_SIGINFO is not set for signo; 20 </assertion> 21 <assertion id="6" tag="ref:XSH6:42301:42304 pt:RTS"> 22 Either signo or at least the pending, unblocked signal shall be delivered to the calling thread before 23 the sigqueue( ) function returns, if the value of pid causes signo to be generated for the sending process, 24 and if signo is not blocked for the calling thread and if no other thread has signo unblocked or is waiting 25 in a sigwait( ) function for signo. 26 </assertion> 27 <assertion id="7" tag="ref:XSH6:42304:42305 pt:RTS"> 28 The lowest numbered signal shall be selected for delivery, if there are any multiple pending signals in the 29 range SIGRTMIN to SIGRTMAX. 30 </assertion> 31 <assertion id="8" tag="ref:XSH6:42309:42310 pt:RTS"> 32 The specified signal shall have been queued, and the sigqueue( ) function shall return a value of zero, 33 upon successful completion. 34 </assertion> 35 <assertion id="9" tag="ref:XSH6:42314:42315 pt:RTS"> 36 sigqueue() shall return a value of -1 and set errno to [EAGAIN] if no resources are available 37 to queue the signal. In other words, the process has already queued {SIGQUEUE_MAX} signals 38 that are still pending at the receiver(s), or a system-wide resource limit has been exceeded. 39 </assertion> 40 <assertion id="10" tag="ref:XSH6:42317:42317 pt:RTS"> 41 sigqueue() shall return a value of -1 and set errno to [EINVAL] if the value of the signo 42 argument is an invalid or unsupported signal number. 43 </assertion> 44 <assertion id="12" tag="ref:XSH6:42318:42319 pt:RTS"> 45 sigqueue() shall return a value of -1 and set errno to [EPERM] if the process does not have the 46 appropriate privilege to send the signal to the receiving process. 47 </assertion> 48 <assertion id="11" tag="ref:XSH6:42320:42320 pt:RTS"> 49 sigqueue() shall return a value of -1 and set errno to [ESRCH] if the process pid does not exist. 50 </assertion> 51</assertions> 52