06.08.2013 Views

pSOSystem System Calls - Read

pSOSystem System Calls - Read

pSOSystem System Calls - Read

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

pSOS+ <strong>System</strong> <strong>Calls</strong> q_urgent<br />

Notes<br />

See Also<br />

1. q_urgent() is useful when the message represents an urgent errand and must<br />

be serviced ahead of the normally FIFO ordered messages.<br />

2. If the caller is a task, it may be preempted as a result of this call.<br />

3. q_urgent() sends a message to an ordinary message queue. Use<br />

q_vurgent() to send a message to a variable length message queue.<br />

Multiprocessor Considerations<br />

1. If qid identifies a global queue residing on another processor node, the local<br />

kernel internally makes an RSC to that remote node to post the input message<br />

to that queue.<br />

2. If a task awakened by this call does not reside on the local node, the local kernel<br />

internally passes the message to the task's node of residence, whose pSOS+m<br />

kernel will ready the task and give it the relayed message. Thus, a q_urgent()<br />

call, whether it is on the local or a remote queue, may cause pSOS+m activities<br />

on another processor node.<br />

Callable From<br />

■ Task.<br />

■ ISR, if the target queue is local to the node from which the q_urgent() call is<br />

made.<br />

■ KI, if the target queue is local to the node from which the q_urgent() call is<br />

made.<br />

■ Callout, if the target queue is local to the node from which the q_urgent() call<br />

is made.<br />

q_receive, q_send, q_vurgent<br />

<strong>pSO<strong>System</strong></strong> <strong>System</strong> <strong>Calls</strong> 1-87<br />

1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!