OpenMAXBellagio  0.9.3
tsemaphore.h File Reference

Go to the source code of this file.

Data Structures

struct  tsem_t
 

Macros

#define OSCL_IMPORT_REF
 
#define OSCL_EXPORT_REF
 

Typedefs

typedef struct tsem_t tsem_t
 

Functions

int tsem_init (tsem_t *tsem, unsigned int val)
 
void tsem_deinit (tsem_t *tsem)
 
void tsem_down (tsem_t *tsem)
 
int tsem_timed_down (tsem_t *tsem, unsigned int milliSecondsDelay)
 
void tsem_up (tsem_t *tsem)
 
void tsem_reset (tsem_t *tsem)
 
void tsem_wait (tsem_t *tsem)
 
void tsem_signal (tsem_t *tsem)
 

Macro Definition Documentation

◆ OSCL_EXPORT_REF

#define OSCL_EXPORT_REF

Definition at line 33 of file tsemaphore.h.

◆ OSCL_IMPORT_REF

#define OSCL_IMPORT_REF

src/tsemaphore.h

Implements a simple inter-thread semaphore so not to have to deal with IPC creation and the like.

Copyright (C) 2007-2009 STMicroelectronics Copyright (C) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Definition at line 32 of file tsemaphore.h.

Typedef Documentation

◆ tsem_t

typedef struct tsem_t tsem_t

The structure contains the semaphore value, mutex and green light flag

Function Documentation

◆ tsem_deinit()

void tsem_deinit ( tsem_t tsem)

Destroy the semaphore

Parameters
tsemthe semaphore to destroy

Definition at line 57 of file tsemaphore.c.

References tsem_t::condition, and tsem_t::mutex.

Referenced by base_constructor_remove_garbage_collected(), base_port_Destructor(), omx_base_component_Destructor(), and omx_clocksrc_component_Destructor().

◆ tsem_down()

◆ tsem_init()

int tsem_init ( tsem_t tsem,
unsigned int  val 
)

Initializes the semaphore at a given value

Parameters
tsemthe semaphore to initialize
valthe initial value of the semaphore

src/tsemaphore.c

Implements a simple inter-thread semaphore so not to have to deal with IPC creation and the like.

Copyright (C) 2007-2009 STMicroelectronics Copyright (C) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Initializes the semaphore at a given value

Parameters
tsemthe semaphore to initialize
valthe initial value of the semaphore

Definition at line 39 of file tsemaphore.c.

References tsem_t::condition, tsem_t::mutex, and tsem_t::semval.

Referenced by base_port_Constructor(), main(), omx_base_component_Constructor(), and omx_clocksrc_component_Constructor().

◆ tsem_reset()

void tsem_reset ( tsem_t tsem)

Reset the value of the semaphore

Parameters
tsemthe semaphore to reset

Definition at line 121 of file tsemaphore.c.

References tsem_t::mutex, and tsem_t::semval.

Referenced by base_port_DisablePort(), base_port_FlushProcessingBuffers(), clocksrc_port_FlushProcessingBuffers(), and omx_video_scheduler_component_port_FlushProcessingBuffers().

◆ tsem_signal()

void tsem_signal ( tsem_t tsem)

Signal the condition,if waiting

Parameters
tsemthe semaphore to signal

Definition at line 141 of file tsemaphore.c.

References tsem_t::condition, and tsem_t::mutex.

Referenced by base_port_FlushProcessingBuffers(), clocksrc_port_FlushProcessingBuffers(), omx_base_component_DoStateSet(), and omx_video_scheduler_component_port_FlushProcessingBuffers().

◆ tsem_timed_down()

int tsem_timed_down ( tsem_t tsem,
unsigned int  milliSecondsDelay 
)

Decreases the value of the semaphore. Blocks if the semaphore value is zero. If the timeout is reached the function exits with error ETIMEDOUT

Parameters
tsemthe semaphore to decrease
timevaluethe value of delay for the timeout

convert timeval to timespec and add delay in milliseconds for the timeout

Definition at line 69 of file tsemaphore.c.

References tsem_t::condition, err, tsem_t::mutex, and tsem_t::semval.

◆ tsem_up()

◆ tsem_wait()


Generated for OpenMAX Bellagio rel. 0.9.3 by  doxygen 1.5.1
SourceForge.net Logo