06.08.2013 Views

pSOSystem System Calls - Read

pSOSystem System Calls - Read

pSOSystem System Calls - Read

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

See Also<br />

queue was created with the Q_PRIOR attribute, then the task will be inserted<br />

into the wait queue by priority.<br />

2. The pSOS+ kernel must copy the message from the queue into the caller's<br />

buffer. Longer messages take longer to copy. User's should account for the copy<br />

time in their design, especially when calling from an ISR.<br />

3. q_vreceive() requests a message from a variable length message queue. Use<br />

q_receive() to request a message from an ordinary queue.<br />

Multiprocessor Considerations<br />

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

will internally make an RSC to that remote node to request a message from that<br />

queue. If the Q_WAIT attribute is elected, then the pSOS+m kernel on the target<br />

node must use an agent to wait for the message. If that node is temporarily out of<br />

agents, the call will fail. The number of agents on each node is defined by the<br />

mc_nagent entry in the Multiprocessor Configuration Table.<br />

Callable From<br />

■ Task.<br />

■ ISR, if Q_NOWAIT is set.<br />

■ KI, if Q_NOWAIT is set.<br />

■ Callout, if Q_NOWAIT is set.<br />

q_receive, q_vsend<br />

1-100 <strong>pSO<strong>System</strong></strong> <strong>System</strong> <strong>Calls</strong>

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

Saved successfully!

Ooh no, something went wrong!