GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / dev > pbs / rhel5-32
#include <PBS/RW_pubdefs.h>
#include <PBS/RW.h>
#include <PBS/RW.ih>
#include <RW_tmr.h>
Defines | |
#define | _OK ATTR_UNUSED_OK |
Abbrev for ATTR_UNUSED_OK, undef'd in this file. | |
Functions | |
RW__EXP_PROTO RW_state | RW__tmr_init (RW_tmr *tmr, RW_ctl *rw, const TOC *toc) _OK |
Initializes a Resource Wait timer based on the toc. If TOC is TOC_NOWAIT or TOV_FOREVER, no timer is initialized. | |
RW__EXP_PROTO void | RW__tmr_dummy (RW_tmr *tmr) _OK |
Dummy initialization call. This is really only needed on rhel6 platforms. | |
RW__EXP_PROTO RW_state | RW__tmr_lock (RW_tmr *tmr, RW_state state) _OK |
Locks the resource. | |
RW__EXP_PROTO RW_state | RW__tmr_wait (RW_tmr *tmr, RW_state state) _OK |
Waits until the timer expires or another task calls RW__tmr_wake indicating that another attempt be made to allocate the resource. | |
RW__EXP_PROTO RW_state | RW__tmr_unlock (RW_tmr *tmr, RW_state state) _OK |
Unlocks the resource. | |
RW__EXP_PROTO RW_state | RW__tmr_destroy (RW_tmr *tmr, RW_state state) _OK |
Destroys the tmr RW handle. This should be called before exiting the routine doing the allocation, since it will cleanup any outstanding timers among other things. |
CVS $Id: RW_tmr.ih,v 1.6 2011/08/06 01:27:44 russell Exp $
Destroys the tmr RW handle. This should be called before exiting the routine doing the allocation, since it will cleanup any outstanding timers among other things.
tmr | The RW timer handle | |
state | The current state |
Referenced by rng_allocate(), and RW_getW_toc().
RW__EXP_PROTO void RW__tmr_dummy | ( | RW_tmr * | tmr | ) |
Dummy initialization call. This is really only needed on rhel6 platforms.
tmr | The Resource Wait Timer to initialize |
References _RW_tmr::rw, and RW_TMR_PINIT.
Referenced by rng_allocate().
Initializes a Resource Wait timer based on the toc. If TOC is TOC_NOWAIT or TOV_FOREVER, no timer is initialized.
tmr | The Resource Wait Timer to initialize | |
rw | The underlying resource wait control structure. | |
toc | The TimeOut control block. Two special values are recognized TOC_NOWAIT and TOC_FOREVER. |
References _RW_tmr::rw, RW_M_INCWAITING, RW_M_TIMEDOUT, RW_M_TOVCOMPUTE, RW_M_TRYAGAIN, RW_TMR_PINIT, _RW_tmr::toc, TOC_IS_FOREVER, and TOC_IS_NOWAIT.
Referenced by rng_allocate(), and RW_getW_toc().
Locks the resource.
tmr | The RW timer handle | |
state | The current RW state |
References _RW_ctl::mutex, and _RW_tmr::rw.
Referenced by rng__wait(), and RW_getW_toc().
Unlocks the resource.
tmr | The RW timer handle | |
state | The current RW state |
References _RW_ctl::mutex, and _RW_tmr::rw.
Referenced by rng__wait(), and RW_getW_toc().
Waits until the timer expires or another task calls RW__tmr_wake indicating that another attempt be made to allocate the resource.
tmr | A previously initialized timer resource handle | |
state | The current RW state |
References _RW_waitctl_u::bf, _RW_ctl::cond, _RW_ctl::mutex, _RW_tmr::rw, RW_M_ERROR, RW_M_INCWAITING, RW_M_TIMEDOUT, RW_M_TMRSTART, RW_M_TOVCOMPUTE, RW_M_TRYAGAIN, _RW_tmr::toc, TOC_compute(), _RW_tmr::tov, TOV_K_FOREVER, TOV_K_NOWAIT, and _RW_ctl::waiting.
Referenced by rng__wait(), and RW_getW_toc().