#include <threads.h>
#include <proc.h>
#include <timers_int.h>
-#include <signal.h>
+#include <posix_signals.h>
typedef struct sProcess tProcess;
struct sProcess
{
struct sProcess *Next;
+ struct sProcess *Prev;
tPGID PGID;
tPID PID;
"THREAD_STAT_DEAD",
"THREAD_STAT_BURIED"
};
+static const unsigned int ciTHREAD_STAT_COUNT = sizeof(casTHREAD_STAT)/sizeof(casTHREAD_STAT[0]);
// === GLOBALS ===
extern BOOL gaThreads_NoTaskSwitch[MAX_CPUS];
extern tThread *Threads_CloneTCB(Uint Flags);
extern tThread *Threads_CloneThreadZero(void);
+extern int Threads_int_Sleep(enum eThreadStatus Status, void *Ptr, int Num, tThread **ListHead, tThread **ListTail, tShortSpinlock *Lock);
extern void Threads_int_WaitForStatusEnd(enum eThreadStatus Status);
extern void Semaphore_ForceWake(tThread *Thread);