asyncmsg_malloc()

Allocate a message buffer for sending an asynchronous message


Caution: Asynchronous messaging is an experimental feature; for information about the use of experimental software, see the Commercial Software License Agreement (CSLA) or Partner Software License Agreement (PSLA) in the Licensing area of our website, http://www.qnx.com/legal/licensing/.

Synopsis:

#include <sys/asyncmsg.h>

void *asyncmsg_malloc( size_t size );

Arguments:

size
The size of the message.

Library:

libasyncmsg

Use the -l asyncmsg option to qcc to link against this library.

Description:

The asyncmsg_malloc() function allocates a message buffer for sending.


Note: Because the malloc() implementation uses signed, 32-bit integers to represent the size internally, you can't allocate more than 2 GB in a single allocation. If the size is greater than 2 GB, asyncmsg_malloc() indicates an error of ENOMEM.

Returns:

EOK, or -1 if an error occurred (errno is set).

Errors:

ENOMEM
There's not enough memory.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

asyncmsg_channel_create(), asyncmsg_channel_destroy(), asyncmsg_connect_attach(), asyncmsg_connect_attr(), asyncmsg_connect_detach(), asyncmsg_flush(), asyncmsg_free(), asyncmsg_get(), asyncmsg_put(), asyncmsg_putv()

Asynchronous Messaging Technote