GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > PBS / V2-10-5
Constituent: pbs     Tag: rad750
#include "PBS/FFS.ih"
#include "PBS/L.ih"
#include "PBS/RW.ih"
#include "PBS/PL.h"
#include "PBI/Inline.h"
#include "PBI/Attribute.h"
Include dependency graph for PL.ih:
This graph shows which files directly or indirectly include this file:
Defines | |
#define | PL__EXP_PROTO INLINE_USR_EXP_PROTO |
Export Prototype spec. | |
#define | PL__LCL_PROTO INLINE_USR_LCL_PROTO |
Internal Prototype spec. | |
#define | PL__EXP_FNC INLINE_USR_EXP_FNC |
Export Function declaration. | |
#define | PL__LCL_FNC INLINE_USR_LCL_FNC |
Internal Function declaration. | |
Functions | |
PL__EXP_PROTO PL_que * | PL__que_get (PL_ctl *pl, int que_id) ATTR_UNUSED_OK |
Locates a pointer to the que specified by que_id. | |
PL__EXP_PROTO PL_node * | PL__insert (PL_que *que, PL_node *node) ATTR_UNUSED_OK |
Adds a node to the tail of a PL managed que. | |
PL__EXP_PROTO PL_node * | PL__jam (PL_que *que, PL_node *node) ATTR_UNUSED_OK |
Adds a node to the head of a PL managed que. | |
PL__EXP_PROTO PL_node * | PL__remove (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id) ATTR_UNUSED_OK |
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL__remove returns NULL immediately without blocking. | |
PL__EXP_PROTO PL_node * | PL__removeW (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id) ATTR_UNUSED_OK |
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL__removeW waits indefinitely. | |
PL__EXP_PROTO PL_node * | PL__removeW_toc (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id, const TOC *toc) ATTR_UNUSED_OK |
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL__removeW_toc waits the specified until the timeout expires. | |
PL__EXP_PROTO PL_list | PL__get (PL_ctl *pl) ATTR_UNUSED_OK |
Returns a list of the currently active ques. | |
PL__EXP_PROTO PL_list | PL__getW (PL_ctl *pl, volatile const PL_list *list) ATTR_UNUSED_OK |
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks indefinitely until this condition is met. | |
PL__EXP_PROTO PL_list | PL__getW_toc (PL_ctl *pl, volatile const PL_list *list, const TOC *toc) ATTR_UNUSED_OK |
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks until this condition is met or the timeout expires. | |
PL__LCL_FNC PL_node * | pl__remove (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id) |
Bare bones, non-interlocked removal routine. This is for internal use only. | |
PL__EXP_FNC PL_list | PL__wake (PL_ctl *pl, PL_list wait_list) |
Issues a wake up call to the PL ques if any of ques in the wait list is currently active. | |
PL__LCL_FNC PL_list | pl__test_or (PL_ctl *pl, volatile const PL_list *list) |
Tests whether the current active list of ques contains any member of the specified list. |
CVS $Id: PL.ih,v 1.2 2003/08/20 17:37:01 russell Exp $
Internally, the interlocking of the queues may or may not be private to each queue. This is a platform implementation decision depending on the cost of interlock mechanism. However, the blocking mechanism is always shared among all the queues. This, in fact, is the distinguishing feature.
|
Returns a list of the currently active ques.
|
|
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks indefinitely until this condition is met.
|
Here is the call graph for this function:
|
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks until this condition is met or the timeout expires.
|
Here is the call graph for this function:
|
Adds a node to the tail of a PL managed que.
|
Here is the call graph for this function:
|
Adds a node to the head of a PL managed que.
|
Here is the call graph for this function:
|
Locates a pointer to the que specified by que_id.
|
|
Bare bones, non-interlocked removal routine. This is for internal use only.
|
Here is the call graph for this function:
|
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL__remove returns NULL immediately without blocking.
|
Here is the call graph for this function:
|
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL__removeW waits indefinitely.
If there is an error, the routine returns NULL as its node. There are only two reasons NULL will be returned: 1. Internal error 2. The list of eligible ques does not include any configured ques. |
Here is the call graph for this function:
|
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL__removeW_toc waits the specified until the timeout expires.
If there is an error, the routine returns NULL as its node. There are only three reasons NULL will be returned:
|
Here is the call graph for this function:
|
Tests whether the current active list of ques contains any member of the specified list.
|
|
Issues a wake up call to the PL ques if any of ques in the wait list is currently active.
|
Here is the call graph for this function: