X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Fthreads_int.h;h=2f15a7294192a30a64ef263940f09b0a9f55b8d6;hb=e91669b7a466b5c95cd6bc7b8b0c94e1a693f207;hp=66bb8c16379dd055646f96ef62850eef3eda0470;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/threads_int.h b/KernelLand/Kernel/include/threads_int.h index 66bb8c16..2f15a729 100644 --- a/KernelLand/Kernel/include/threads_int.h +++ b/KernelLand/Kernel/include/threads_int.h @@ -8,7 +8,6 @@ #include #include - typedef struct sProcess tProcess; /** @@ -27,8 +26,12 @@ typedef struct sMessage */ struct sProcess { + struct sProcess *Next; + tPGID PGID; tPID PID; + int nThreads; + struct sThread *FirstThread; tUID UID; //!< User ID tGID GID; //!< User and Group @@ -53,6 +56,7 @@ struct sThread struct sThread *Next; struct sThread *GlobalNext; //!< Next thread in global list struct sThread *GlobalPrev; //!< Previous thread in global list + struct sThread *ProcessNext; tShortSpinlock IsLocked; //!< Thread's spinlock volatile int Status; //!< Thread Status void *WaitPointer; //!< What (Mutex/Thread/other) is the thread waiting on @@ -96,6 +100,7 @@ enum { THREAD_STAT_ACTIVE, // Running and schedulable process THREAD_STAT_SLEEPING, // Message Sleep THREAD_STAT_MUTEXSLEEP, // Mutex Sleep + THREAD_STAT_RWLOCKSLEEP, // Read-Writer lock Sleep THREAD_STAT_SEMAPHORESLEEP, // Semaphore Sleep THREAD_STAT_QUEUESLEEP, // Queue THREAD_STAT_EVENTSLEEP, // Event sleep @@ -125,8 +130,6 @@ extern BOOL gaThreads_NoTaskSwitch[MAX_CPUS]; 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);