GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > PBS / V2-10-5

Constituent: pbs     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

RW.ih File Reference

Resource Wait, inline version. More...

#include "PBI/Inline.h"
#include "PBI/Attribute.h"
#include "PBS/RW.h"
#include "PBS/RW_pubdefs.h"

Include dependency graph for RW.ih:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Defines

#define RW__EXP_PROTO   INLINE_USR_EXP_PROTO
 Export Prototype spec.

#define RW__LCL_PROTO   INLINE_USR_LCL_PROTO
 Internal Prototype spec.

#define RW__EXP_FNC   INLINE_USR_EXP_FNC
 Export Function declaration.

#define RW__LCL_FNC   INLINE_USR_LCL_FNC
 Internal Function declaration.


Functions

RW__EXP_PROTO int RW__disable (RW_ctl *rw) ATTR_UNUSED_OK
 Disables wakeup calls.

RW__EXP_PROTO int RW__enable (RW_ctl *rw) ATTR_UNUSED_OK
 Enables wakeup calls.

RW__EXP_PROTO int RW__enabled (const RW_ctl *rw) ATTR_UNUSED_OK
 Returns the state of the enabled flag.

RW__EXP_PROTO RW_key RW__lock (RW_ctl *rw) ATTR_UNUSED_OK
 Locks a resource so it can be manipulated in an interlocked fashion.

RW__EXP_PROTO RW_keys RW__lock2 (RW_ctl *rw_0, RW_ctl *rw_1) ATTR_UNUSED_OK
 Locks two resource so they can be manipulated in an interlocked fashion.

RW__EXP_PROTO int RW__unlock (RW_ctl *rw, RW_key key) ATTR_UNUSED_OK
 This routine unlocks a previously locked resource.

RW__EXP_PROTO int RW__unlock2 (RW_ctl *rw_0, RW_ctl *rw_1, RW_keys keys) ATTR_UNUSED_OK
 This routine unlocks a previously locked resource.

RW__EXP_PROTO RW_key RW__wait (RW_ctl *rw, RW_key key) ATTR_UNUSED_OK
 Blocks a task/thread until there is a reasonable chance that a resource is available.

RW__EXP_PROTO int RW__wake (RW_ctl *rw, RW_key key) ATTR_UNUSED_OK
 This provides the signaling mechanism to wake up a thread of code which is waiting for a resource.


Detailed Description

Resource Wait, inline version.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: RW.ih,v 1.4 2004/10/20 14:36:52 russell Exp $

Function Documentation

RW__EXP_FNC int RW__disable RW_ctl rw  ) 
 

Disables wakeup calls.

Parameters:
rw The resource wait control structure
Return values:
0 RW was previously disabled
!=0 RW was previously enabled
Wakeup calls are disabled by this call. Effectively wakeup calls issued during the time the RW control structure is disabled are pended until reenabled by calling RW__enable().

Here is the call graph for this function:

RW__EXP_FNC int RW__enable RW_ctl rw  ) 
 

Enables wakeup calls.

Parameters:
rw The resource wait control structure
Return values:
0 RW was previously disabled
!=0 RW was previously enabled
Wakeup calls are enabled by this call. The routine also issues a wakeup if there are any pending wakeup calls.

Here is the call graph for this function:

RW__EXP_FNC int RW__enabled const RW_ctl rw  ) 
 

Returns the state of the enabled flag.

Parameters:
rw The resource wait control structure
Return values:
0 RW was previously disabled
!=0 RW was previously enabled
Warning:
As with all queries of this type, the answer is only good until it changes. The user is cautioned on its usage. It is primarily provided as a debugging tool.

RW_key RW__lock RW_ctl rw  ) 
 

Locks a resource so it can be manipulated in an interlocked fashion.

Returns:
A key to be passed to the RW__unlock routine.
Parameters:
rw The RW handle

Here is the call graph for this function:

RW_keys RW__lock2 RW_ctl rw_0,
RW_ctl rw_1
 

Locks two resource so they can be manipulated in an interlocked fashion.

Returns:
A set of keys to be passed to the RW__unlock2 routine
Parameters:
rw_0 The RW handle of the first resource to be locked
rw_1 The RW handle of the second resource to be locked

Here is the call graph for this function:

int RW__unlock RW_ctl rw,
RW_key  key
 

This routine unlocks a previously locked resource.

Parameters:
rw The RW handle
key The key used to lock the resource, returned from RW__lock

Here is the call graph for this function:

int RW__unlock2 RW_ctl rw_0,
RW_ctl rw_1,
RW_keys  keys
 

This routine unlocks a previously locked resource.

Parameters:
rw_0 The RW handle of the first resource to be unlocked
rw_1 The RW handle of the second resource to be unlocked
keys The keys used to lock the resources, returned from RW_lock2

Here is the call graph for this function:

int RW__wait RW_ctl rw,
RW_key  key
 

Blocks a task/thread until there is a reasonable chance that a resource is available.

Parameters:
rw The RW handle
key The key used to unlock the interrupts
Returns:
Status

Here is the call graph for this function:

int RW__wake RW_ctl rw,
RW_key  key
 

This provides the signaling mechanism to wake up a thread of code which is waiting for a resource.

Parameters:
rw The RW handle
key The key used to unlock the resource.
Return values:
Status This routine checks if any thread is waiting for a resource, and if so wakes that thread. The resource should be locked on entry to this routine. This routine always exits with the resource still locked.


Generated on Tue Sep 13 21:43:39 2005 by doxygen 1.3.3