- Thread->Events |= Events;
-
- if( Thread->WaitMask & Events )
- SDL_SemPost( gpCurrentThread->EventSem );
+ Thread->EventState |= Events;
+// Log_Debug("Threads", "Trigger event %x (->Events = %p) on %p", Events, Thread->Events, Thread);
+
+ if( Events == 0 || Thread->WaitMask & Events ) {
+ Threads_Glue_SemSignal( Thread->EventSem, 1 );
+// Log_Debug("Threads", "Waking %p(%i %s)", Thread, Thread->TID, Thread->ThreadName);
+ }
+}
+
+void Threads_ClearEvent(Uint32 EventMask)
+{
+ gpCurrentThread->EventState &= ~EventMask;
+}
+
+// --------------------------------------------------------------------
+// Signals
+// --------------------------------------------------------------------
+void Threads_PostSignal(int SigNum)
+{
+ Log_Error("Threads", "TODO: %s", __func__);
+}
+void Threads_SignalGroup(tPGID PGID, int SignalNum)
+{
+ Log_Error("Threads", "TODO: %s", __func__);