ZCOM C I/F Library Routines

ZQMVE (3X)

 

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

This routine may be called from a multi-threaded application using the

Considerations

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).

Chapter 4

289