git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Modules - Removing uneeded prototypes
[tpg/acess2.git]
/
KernelLand
/
Kernel
/
include
/
threads_int.h
diff --git
a/KernelLand/Kernel/include/threads_int.h
b/KernelLand/Kernel/include/threads_int.h
index
578fdcf
..
d770668
100644
(file)
--- a/
KernelLand/Kernel/include/threads_int.h
+++ b/
KernelLand/Kernel/include/threads_int.h
@@
-12,6
+12,7
@@
#include <threads.h>
#include <proc.h>
#include <timers_int.h>
#include <threads.h>
#include <proc.h>
#include <timers_int.h>
+#include <signal.h>
typedef struct sProcess tProcess;
typedef struct sProcess tProcess;
@@
-45,6
+46,8
@@
struct sProcess
int MaxFD;
char *CurrentWorkingDir;
char *RootDir;
int MaxFD;
char *CurrentWorkingDir;
char *RootDir;
+
+ void *SignalHandlers[NSIGNALS];
};
/**
};
/**
@@
-71,7
+74,10
@@
struct sThread
struct sProcess *Process; //!< Thread Group / Process
struct sThread *Parent; //!< Parent Thread
char *ThreadName; //!< Name of thread
struct sProcess *Process; //!< Thread Group / Process
struct sThread *Parent; //!< Parent Thread
char *ThreadName; //!< Name of thread
-
+
+ struct sThread *LastDeadChild; //!< Last child to die (will have the \a DeadChildren lock)
+ tMutex DeadChildLock; //!< Lock to prevent clobbering of \a LastDeadChild, acquired by child, released by parent
+
// --- arch/proc.c's responsibility
//! Kernel Stack Base
tVAddr KernelStack;
// --- arch/proc.c's responsibility
//! Kernel Stack Base
tVAddr KernelStack;
@@
-83,6
+89,10
@@
struct sThread
int CurFaultNum; //!< Current fault number, 0: none
tVAddr FaultHandler; //!< Fault Handler
int CurFaultNum; //!< Current fault number, 0: none
tVAddr FaultHandler; //!< Fault Handler
+
+ int PendingSignal; //!< Pending signal ID (0 = none)
+
+
tMsg * volatile Messages; //!< Message Queue
tMsg *LastMessage; //!< Last Message (speeds up insertion)
tMsg * volatile Messages; //!< Message Queue
tMsg *LastMessage; //!< Last Message (speeds up insertion)
@@
-122,6
+132,7
@@
static const char * const casTHREAD_STAT[] = {
"THREAD_STAT_ACTIVE",
"THREAD_STAT_SLEEPING",
"THREAD_STAT_MUTEXSLEEP",
"THREAD_STAT_ACTIVE",
"THREAD_STAT_SLEEPING",
"THREAD_STAT_MUTEXSLEEP",
+ "THREAD_STAT_RWLOCKSLEEP",
"THREAD_STAT_SEMAPHORESLEEP",
"THREAD_STAT_QUEUESLEEP",
"THREAD_STAT_EVENTSLEEP",
"THREAD_STAT_SEMAPHORESLEEP",
"THREAD_STAT_QUEUESLEEP",
"THREAD_STAT_EVENTSLEEP",
@@
-149,4
+160,7
@@
extern tThread *Threads_GetNextToRun(int CPU, tThread *Last);
extern tThread *Threads_CloneTCB(Uint Flags);
extern tThread *Threads_CloneThreadZero(void);
extern tThread *Threads_CloneTCB(Uint Flags);
extern tThread *Threads_CloneThreadZero(void);
+extern void Threads_int_WaitForStatusEnd(enum eThreadStatus Status);
+extern void Semaphore_ForceWake(tThread *Thread);
+
#endif
#endif
UCC
git Repository :: git.ucc.asn.au