GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / dev > pbs / mv2304
#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 |
References RW_M_TIMEDOUT, RW_M_TMRSTARTED, _RW_tmr::wut, and WUT_cancel().
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 |
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 INT__lock().
Referenced by rng__wait(), and RW_getW_toc().
Unlocks the resource.
tmr | The RW timer handle | |
state | The current RW state |
References INT__unlock(), and RW_M_KEY.
Referenced by rng__wait(), RW__tmr_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, INT__lock(), _RW_tmr::rw, RW__tmr_unlock(), RW_M_ERROR, RW_M_TIMEDOUT, RW_M_TMRSTARTED, RW_M_TOVCOMPUTE, RW_M_TRYAGAIN, rw_tmr_handler(), _RW_ctl::semaphore, _RW_tmr::toc, TOC__compute(), TOV_K_FOREVER, TOV_K_NOWAIT, _RW_ctl::waiting, _RW_tmr::wut, WUT_K_EXPIRED, WUT_start(), and WUT_state_get().
Referenced by rng__wait(), and RW_getW_toc().