GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / V2-12-1 > pbs / rhel6-32
#include <PBS/LI_comdefs.h>
#include <PBS/TOC_comdefs.h>
Functions | |
void | LI_append (LI_head *dst, LI_head *src) |
Appends the src list members to the dst list. | |
int | LI_disable (LI_head *list) |
Disables the dequeing of nodes from this list. | |
int | LI_enable (LI_head *list) |
Enable the dequeing of nodes from this list. | |
int | LI_enabled (const LI_head *list) |
Returns the state of the enabled flag for this list. | |
int | LI_init (LI_head *list, LI_type type) |
Initializes the list head of a singly linked list to an empty list. | |
int | LI_destroy (LI_head *list) |
Destroys the data structures associate with a list. | |
LI_node * | LI_insert (LI_head *list, LI_node *node) |
Adds a node to the tail of a previously initialized list. | |
LI_node * | LI_jam (LI_head *list, LI_node *node) |
Adds a node to the head of a previously initialized list. | |
void | LI_prepend (LI_head *dst, LI_head *src) |
Prepends the src list members to the dst list. | |
LI_node * | LI_remove (LI_head *list) |
Removes the node from the tail of a previously initialized list. An empty list returns NULL as its node. | |
LI_node * | LI_removeW (LI_head *list) |
Removes the node from the tail of a previously initialized linked list. If the list is empty, the thread of code is blocked until a node becomes available. | |
LI_node * | LI_removeW_toc (LI_head *list, const TOC *toc) |
Removes the node from the tail of a previously initialized linked list. If the list is empty, the thread of code is blocked until a node becomes available or the timeout expires. |
CVS $Id: LI_protos.h,v 1.4 2011/03/24 23:05:42 apw Exp $
Provides ability to manipulate a singly linked list in an interlocked fashion, i.e. thread safe. The actual interlock mechanism is platform dependent.
See also the inline versions of these routines which may offer increased performance at the expense of code space and modularity. The L routines provide the same functionality without the overhead/features associated with being interlocked.
Appends the src list members to the dst list.
dst | A previously initialized list acting as the destination | |
src | A previously initialized list acting as the source |
void LI_destroy | ( | LI_head * | list | ) |
Destroys the data structures associate with a list.
list | Pointer to the list to destroy. |
References _LI_head::head, L_destroy(), _LI_head::rw, and RW_destroy().
Referenced by FORK_destroy(), and FPA_destroy().
int * LI_disable | ( | LI_head * | list | ) |
Disables the dequeing of nodes from this list.
list | A previously initialized list. |
0 | List was previously disabled | |
!=0 | List was previously enabled |
int * LI_enable | ( | LI_head * | list | ) |
Enable the dequeing of nodes from this list.
list | A previously initialized list. |
0 | List was previously disabled | |
!=0 | List was previously enabled |
int * LI_enabled | ( | const LI_head * | list | ) |
Returns the state of the enabled flag for this list.
list | A previously initialized list. |
0 | List is disabled | |
!=0 | List is enabled |
Initializes the list head of a singly linked list to an empty list.
list | Pointer to the list to initialize. | |
type | The type of interlocking linked list |
References _LI_head::head, L_init(), _LI_head::rw, and RW_init().
Referenced by FORK_create(), and FPA_init().
Adds a node to the tail of a previously initialized list.
list | A previously initialized list. | |
node | The node to add at the tail of the list. |
Referenced by FPA_init().
Adds a node to the head of a previously initialized list.
list | A previously initialized list. | |
node | The node to add. |
Prepends the src list members to the dst list.
dst | A previously initialized list acting as the destination | |
src | A previously initialized list acting as the source |
Removes the node from the tail of a previously initialized list. An empty list returns NULL as its node.
list | A previously initialized list. |
Removes the node from the tail of a previously initialized linked list. If the list is empty, the thread of code is blocked until a node becomes available.
list | A previously initialized list |
Removes the node from the tail of a previously initialized linked list. If the list is empty, the thread of code is blocked until a node becomes available or the timeout expires.
list | A previously initialized list | |
toc | The timeout control structure. Maybe specified as either TOC_NOWAIT or TOC_FOREVER. |