WPILibC++  trunk
OSAL/Synchronized.cpp
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) FIRST 2008. All Rights Reserved. */
3 /* Open Source Software - may be modified and shared by FRC teams. The code */
4 /* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib. */
5 /*----------------------------------------------------------------------------*/
6 
7 #include "OSAL/Synchronized.h"
8 
18 {
19  usingSem = false;
20  m_semaphore = semaphore;
21  semTake(m_semaphore, WAIT_FOREVER);
22 }
23 
25 {
26  usingSem = true;
27  m_sem = &sem;
28  m_sem->take();
29 }
30 
37 {
38  if(usingSem)
39  m_sem->give();
40  else
41  semGive(m_semaphore);
42 }
virtual ~NTSynchronized()
NTSynchronized(NTReentrantSemaphore &)