GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / V2-12-1 > pbs / rhel6-32
#include <PBS/Q_protos.h>
#include <PBS/RW_protos.h>
#include <PBS/QI.h>
Functions | |
int | QI_destroy (QI_head *que) |
Destroys the data structures associate with the que. | |
int | QI_init (QI_head *que, QI_type type) |
Initializes the que to an empty que of the specified type. |
CVS $Id: QI.c,v 1.6 2011/03/24 23:05:46 apw Exp $
This implements the non-inline versions of the interlocked Que routines These allow the user to build interlocked doubly linked lists. These routines parallel some of the functionality of the VxWorks llXXXX routines, but are portable to both VxWorks and host platforms and have the interlocked mechanism as a built-in feature.
See also the non-inline versions of these routines which may save code space and increase modularity at the expense of performance. The Q routines provide the same functionality without the added feature of being interlocked, and, therefore, thread safe.
int QI_destroy | ( | QI_head * | que | ) |
Destroys the data structures associate with the que.
que | Pointer to the que to destroy. |
References _QI_head::head, Q_destroy(), _QI_head::rw, and RW_destroy().
Initializes the que to an empty que of the specified type.
que | Pointer to the que to initialize. | |
type | The type of interlocked que. |
0,Success | ||
ENOMEM,Insufficient | memory | |
ENOTSUP,Type | not supported. |
References _QI_head::head, Q_init(), _QI_head::rw, and RW_init().