/home/dko/projects/mobilec/trunk/src/barrier.c File Reference

#include "include/barrier.h"
#include "include/mc_error.h"

Go to the source code of this file.

Functions

barrier_node_p barrier_node_Initialize (int id, int num_registered)
int barrier_node_Destroy (barrier_node_p node)
int barrier_queue_Add (barrier_queue_p list, barrier_node_p node)
int barrier_queue_Delete (int id, barrier_queue_p list)
int barrier_queue_Destroy (barrier_queue_p queue)
barrier_node_p barrier_queue_Get (barrier_queue_p list, int id)
barrier_queue_p barrier_queue_New (void)
barrier_node_p barrier_queue_Pop (barrier_queue_p queue)


Function Documentation

int barrier_node_Destroy ( barrier_node_p  node  ) 

Definition at line 62 of file barrier.c.

References barrier_node_s::cond, COND_DESTROY, barrier_node_s::lock, MC_SUCCESS, and MUTEX_DESTROY.

Referenced by barrier_queue_Delete(), and barrier_queue_Destroy().

barrier_node_p barrier_node_Initialize ( int  id,
int  num_registered 
)

Definition at line 37 of file barrier.c.

References CHECK_NULL, barrier_node_s::cond, COND_INIT, COND_T, barrier_node_s::id, barrier_node_s::lock, MUTEX_INIT, MUTEX_T, node, barrier_node_s::num_registered, and barrier_node_s::num_waiting.

Referenced by MC_BarrierInit().

int barrier_queue_Add ( barrier_queue_p  list,
barrier_node_p  node 
)

Definition at line 79 of file barrier.c.

References DATA, barrier_node_s::id, barrier_queue_s::list, ListAdd(), list_s::listhead, barrier_queue_s::lock, MC_SUCCESS, MC_WARN_DUPLICATE, listNode_s::next, listNode_s::node_data, RWLOCK_WRLOCK, RWLOCK_WRUNLOCK, and barrier_queue_s::size.

Referenced by MC_BarrierInit().

int barrier_queue_Delete ( int  id,
barrier_queue_p  list 
)

Definition at line 103 of file barrier.c.

References barrier_node_Destroy(), barrier_node_s::id, barrier_queue_s::list, ListDelete(), ListSearch(), barrier_queue_s::lock, MC_ERR_NOT_FOUND, MC_SUCCESS, RWLOCK_WRLOCK, RWLOCK_WRUNLOCK, barrier_queue_s::size, and list_s::size.

Referenced by MC_BarrierDelete().

int barrier_queue_Destroy ( barrier_queue_p  queue  ) 

Definition at line 123 of file barrier.c.

References barrier_node_Destroy(), barrier_queue_Pop(), barrier_queue_s::list, ListTerminate(), barrier_queue_s::lock, MC_SUCCESS, node, and RWLOCK_DESTROY.

Referenced by mc_platform_Destroy().

barrier_node_p barrier_queue_Get ( barrier_queue_p  list,
int  id 
)

Definition at line 137 of file barrier.c.

References barrier_queue_s::list, list_s::listhead, barrier_queue_s::lock, listNode_s::next, listNode_s::node_data, RWLOCK_RDLOCK, and RWLOCK_RDUNLOCK.

Referenced by MC_Barrier(), and MC_BarrierInit().

barrier_queue_p barrier_queue_New ( void   ) 

Definition at line 154 of file barrier.c.

References CHECK_NULL, barrier_queue_s::list, ListInitialize(), barrier_queue_s::lock, RWLOCK_INIT, and RWLOCK_T.

Referenced by mc_platform_Initialize().

barrier_node_p barrier_queue_Pop ( barrier_queue_p  queue  ) 

Definition at line 168 of file barrier.c.

References barrier_queue_s::list, ListPop(), and node.

Referenced by barrier_queue_Destroy().


Generated on Fri May 16 14:49:55 2008 for Mobile-C by  doxygen 1.5.4