MsgPause(), MsgPause_r()

QNX SDP8.0C Library ReferenceAPIDeveloper

Pause the processing of a message

CAUTION:
These functions are meant to handle a deadlock (EDEADLK) error related to message passing. However, this error can't occur in this QNX OS release, so you shouldn't call these functions. If you do, they fail with an ENOSYS error.

Synopsis:

#include <sys/neutrino.h>

int MsgPause( rcvid_t rcvid,
              unsigned cookie );

int MsgPause_r( rcvid_t rcvid,
                unsigned cookie );

Arguments:

rcvid
The receive ID that MsgReceive*() returned when you received the message.
cookie
A value for the kernel to pass back to the resource manager with the _PULSE_CODE_RESTART pulse when the situation has been resolved.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The MsgPause() and MsgPause_r() kernel calls pause a message. However, any deadlock error that message pausing is meant to handle cannot happen in this release, so all these functions do is return an error indicating the operation is not supported.

Returns:

The only difference between these functions is the way they indicate errors.

MsgPause()
Returns -1 and sets errno.
MsgPause_r()
Returns the value listed in the Errors section.

Errors:

ENOSYS
This operation isn't supported.

Classification:

QNX OS

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: