Reference Guide
ZCOM C I/F Library Routines
ZQMVE (3X)
Chapter 4 289
ZQMVE (3X)
NAME zqmve – Move message from one ZLU to another
SYNOPSIS
#include <zcom/zcomsys.h>
#include <zcom/zcomcall.h> /* if compiled with ANSI C (recommended) */
int32 zqmve (zap, dzap)
zaddr_type *zap;
zaddr_type *dzap;
DESCRIPTION Routine zqmve is used to transfer the first message from one ZLU queue
to the end of a second ZLU queue by changing the queue pointers
(without actually moving the data). If the destination queue is not
specified (i.e., dzap = NULL), the message will be flushed, which means
the message buffer is returned to the free data buffer pool.
The libraries libzcom_c.a and libpthread.a must be linked into the calling
program by giving the options “-lzcom_c -lpthread” to cc(1) or ld(1).
Threads
Considerations
This routine may be called from a multi-threaded application using the
POSIX (1003.1c) kernel threads API package. This routine has the
following characteristics when called by a multi-threaded application:
cancellation point Thread cancellation can occur when a thread
calls this routine.
async-cancel unsafe The calling thread’s cancelability type must be
PTHREAD_CANCEL_DEFERRED if
cancellation is enabled.
async-signal unsafe It cannot be called from a signal handler.
fork unsafe It cannot be called by a child process after
fork(2) but before exec(2).