OSDN Git Service

EPG収集
[iptd/iPTd.git] / src / Raym / Object.h
index d51bb21..4402313 100644 (file)
@@ -167,6 +167,7 @@ public:
     friend void RaymLock(Object *);\r
     friend void RaymUnlock(Object *);\r
     friend void RaymCondWait(Object *);\r
+    friend void RaymCondTimedWait(Object *, int msec);\r
     friend void RaymCondSignal(Object *);\r
     friend void RaymCondBroadcast(Object *);\r
 };\r
@@ -226,6 +227,24 @@ inline void RaymCondWait(Object *obj)
 #endif\r
 \r
 #ifndef RAYM_MUTEX_CHECK\r
+inline void RaymCondTimedWait(Object *obj, int msec)\r
+{\r
+#ifdef _WIN32\r
+    SleepConditionVariableCS(&(obj->_cond), &(obj->_cs), (DWORD)msec);\r
+#else\r
+#endif\r
+}\r
+#else\r
+#ifdef _WIN32\r
+#define RaymCondTimedWait(obj, msec) \\r
+    DebugLog3("before wait: %s %d", __FILE__, __LINE__); \\r
+    SleepConditionVariableCS(&(obj->_cond), &(obj->_cs), (DWORD)msec); \\r
+    DebugLog3("after wait: %s %d", __FILE__, __LINE__);\r
+#else\r
+#endif\r
+#endif\r
+\r
+#ifndef RAYM_MUTEX_CHECK\r
 inline void RaymCondSignal(Object *obj)\r
 {\r
 #ifdef _WIN32\r