• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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