HP UX 11i v1 I/O Cards manual Zread, Cancellation point

Models: UX 11i v1 I/O Cards

1 298
Download 298 pages 31.75 Kb
Page 269
Image 269

ZCOM C I/F Library Routines

ZREAD (3X)

 

ZREAD (3X)

NAME

zread – Read from ZLU

SYNOPSIS

#include

<zcom/zcomsys.h>

#include

<zcom/zcomcall.h> /* if compiled with ANSI C (recommended) */

int32 zread (zap, mode, mhp, ibuf, len, rlen, rstat)

zaddr_type

*zap;

uint32

mode;

zmhd_type

*mhp;

char

*ibuf;

int32

len;

int32

*rlen;

int32

*rstat;

DESCRIPTION

Routine zread fetches the next message from the head of a program ZLU

 

queue. The program has the option to wait (i.e., suspend) if there is no

 

data on the queue specified. The actual length of the data message is

 

returned in rlen.

 

 

This routine is similar to zpeek(3X) except it removes the message after

 

fetching it.

 

 

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

269

Page 269
Image 269
HP UX 11i v1 I/O Cards manual Zread, Cancellation point