LEAVE('-');
}
+/**
+ * \brief Clear an event without waiting
+ */
+void Threads_ClearEvent(Uint32 EventMask)
+{
+ Proc_GetCurThread()->EventState &= ~EventMask;
+}
+
/**
* \brief Wait for an event to occur
*/
#define THREAD_EVENT_IPCMSG 0x00000002
#define THREAD_EVENT_SIGNAL 0x00000004
#define THREAD_EVENT_TIMER 0x00000008
+#define THREAD_EVENT_SHORTWAIT 0x00000010
// === FUNCTIONS ===
extern void Threads_PostEvent(tThread *Thread, Uint32 EventMask);
+extern void Threads_ClearEvent(Uint32 EventMask);
extern Uint32 Threads_WaitEvents(Uint32 EventMask);
#endif
typedef struct sThread tThread;
// === FUNCTIONS ===
+extern tThread *Proc_GetCurThread(void);
+
extern void Threads_SetFaultHandler(Uint Handler);
extern int Threads_SetUID(tUID ID);
extern tShortSpinlock glThreadListLock;
// === FUNCTIONS ===
-extern tThread *Proc_GetCurThread(void);
-
extern tThread *Threads_GetThread(Uint TID);
extern void Threads_SetPriority(tThread *Thread, int Pri);
extern int Threads_Wake(tThread *Thread);
// === CONSTANTS ===
#define NUM_THREADS_PER_ALLOC 4
-// === IMPORTS ===
-extern tThread *Proc_GetCurThread(void);
-
// === TYPES ===
typedef struct sVFS_SelectListEnt tVFS_SelectListEnt;