rendezvous.h File Reference


Detailed Description

This interface enables multiple threads to do their initialization in paralell before meeting up and start the main processing loops.

 * ============================================================================
 * Copyright (c) Texas Instruments Inc 2005
 *
 * Use of this software is controlled by the terms and conditions found in the
 * license agreement under which this software has been supplied or provided.
 * ============================================================================
 * 

#include <pthread.h>

Include dependency graph for rendezvous.h:

Go to the source code of this file.

Data Structures

struct  Rendezvous_Obj
 Object that stores the state. More...

Defines

#define RENDEZVOUS_SUCCESS   0
 Indicates that a Rendezvous API call completed successfully.
#define RENDEZVOUS_FAILURE   -1
 Indicates that a Rendezvous API call failed.

Typedefs

typedef Rendezvous_Obj Rendezvous_Obj
 Object that stores the state.
typedef Rendezvous_ObjRendezvous_Handle
 Pointer to a rendezvous object.

Functions

static void Rendezvous_open (Rendezvous_Handle hRv, int count)
 Opens the Rendezvous object. Must be called before other API:s on a Rendezvous object.
static void Rendezvous_meet (Rendezvous_Handle hRv)
 Called by a thread when it's initialization is done. This will register that this thread is done initializing and will block the thread until the other threads are done initializing, after which all threads will be unblocked at once.
static void Rendezvous_force (Rendezvous_Handle hRv)
 This call forces all threads blocking in Rendezvous_meet to unblock no matter what the state of the Rendezvous object. Useful for error cleanup.
static void Rendezvous_close (Rendezvous_Handle hRv)
 Closes a previously opened Rendezvous object.


Define Documentation

#define RENDEZVOUS_SUCCESS   0
 

Indicates that a Rendezvous API call completed successfully.

#define RENDEZVOUS_FAILURE   -1
 

Indicates that a Rendezvous API call failed.


Typedef Documentation

typedef struct Rendezvous_Obj Rendezvous_Obj
 

Object that stores the state.

typedef Rendezvous_Obj* Rendezvous_Handle
 

Pointer to a rendezvous object.


Function Documentation

static void Rendezvous_open Rendezvous_Handle  hRv,
int  count
[inline, static]
 

Opens the Rendezvous object. Must be called before other API:s on a Rendezvous object.

Parameters:
hRv Pointer to the rendezvous object to open.
count Number of threads to synchronize initialization for.

static void Rendezvous_meet Rendezvous_Handle  hRv  )  [inline, static]
 

Called by a thread when it's initialization is done. This will register that this thread is done initializing and will block the thread until the other threads are done initializing, after which all threads will be unblocked at once.

Parameters:
hRv Pointer to a previously opened Rendezvous object.
Returns:
RENDEZVOUS_SUCCESS for success or RENDEZVOUS_FAILURE for failure.

static void Rendezvous_force Rendezvous_Handle  hRv  )  [inline, static]
 

This call forces all threads blocking in Rendezvous_meet to unblock no matter what the state of the Rendezvous object. Useful for error cleanup.

Parameters:
hRv Pointer to a previously opened Rendezvous object.

static void Rendezvous_close Rendezvous_Handle  hRv  )  [inline, static]
 

Closes a previously opened Rendezvous object.

Parameters:
hRv Pointer to the rendezvous object to close.


Copyright 2006, Texas Instruments Incorporated