Comment/documentation change to the VFS
[tpg/acess2.git] / Kernel / include / threads.h
index 644d033..9c5ebe7 100644 (file)
@@ -16,8 +16,9 @@ typedef struct sMessage
 
 typedef struct sThread
 {
+       // --- threads.c's
        struct sThread  *Next;  //!< Next thread in list
-        int    IsLocked;       //!< Thread's spinlock
+       tSpinlock       IsLocked;       //!< Thread's spinlock
         int    Status;         //!< Thread Status
         int    RetStatus;      //!< Return Status
        
@@ -27,7 +28,9 @@ typedef struct sThread
        Uint    UID, GID;       //!< User and Group
        char    *ThreadName;    //!< Name of thread
        
-       tVAddr  KernelStack;    //!< Kernel Stack Base
+       // --- arch/proc.c's responsibility
+       //! Kernel Stack Base
+       tVAddr  KernelStack;
        
        //! Memory Manager State
        tMemoryState    MemState;
@@ -35,11 +38,12 @@ typedef struct sThread
        //! State on task switch
        tTaskState      SavedState;
        
+       // --- threads.c's
         int    CurSignal;      //!< Signal currently being handled (0 for none)
        tVAddr  SignalHandlers[NSIG];   //!< Signal Handler List
        tTaskState      SignalState;    //!< Saved state for signal handler
        
-       tMsg    *Messages;      //!< Message Queue
+       tMsg * volatile Messages;       //!< Message Queue
        tMsg    *LastMessage;   //!< Last Message (speeds up insertion)
        
         int    Quantum, Remaining;     //!< Quantum Size and remaining timesteps
@@ -62,5 +66,6 @@ enum {
 extern tThread *Proc_GetCurThread();
 extern tThread *Threads_GetThread(Uint TID);
 extern void    Threads_Wake(tThread *Thread);
+extern void    Threads_AddActive(tThread *Thread);
 
 #endif

UCC git Repository :: git.ucc.asn.au