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
Fixed Segfault if execve fails, fixed errors in LibC pertaining to stdin,... not...
[tpg/acess2.git]
/
Kernel
/
threads.c
diff --git
a/Kernel/threads.c
b/Kernel/threads.c
index
bcea3fa
..
54438c3
100644
(file)
--- a/
Kernel/threads.c
+++ b/
Kernel/threads.c
@@
-20,6
+20,7
@@
extern int Proc_Clone(Uint *Err, Uint Flags);
// === PROTOTYPES ===
void Threads_Init();
void Threads_SetName(char *NewName);
// === PROTOTYPES ===
void Threads_Init();
void Threads_SetName(char *NewName);
+char *Threads_GetName(int ID);
void Threads_SetTickets(int Num);
int Threads_WaitTID(int TID, int *status);
tThread *Threads_GetThread(Uint TID);
void Threads_SetTickets(int Num);
int Threads_WaitTID(int TID, int *status);
tThread *Threads_GetThread(Uint TID);
@@
-117,6
+118,18
@@
void Threads_SetName(char *NewName)
strcpy(cur->ThreadName, NewName);
}
strcpy(cur->ThreadName, NewName);
}
+/**
+ * \fn char *Threads_GetName(int ID)
+ * \brief Gets a thread's name
+ */
+char *Threads_GetName(int ID)
+{
+ if(ID == -1) {
+ return Proc_GetCurThread()->ThreadName;
+ }
+ return NULL;
+}
+
/**
* \fn void Threads_SetTickets(int Num)
* \brief Sets the 'priority' of a task
/**
* \fn void Threads_SetTickets(int Num)
* \brief Sets the 'priority' of a task
@@
-273,7
+286,7
@@
void Threads_Kill(tThread *Thread, int Status)
tMsg *msg;
// Kill all children
tMsg *msg;
// Kill all children
- #if
1
+ #if
0
{
tThread *child;
for(child = gActiveThreads;
{
tThread *child;
for(child = gActiveThreads;
@@
-586,5
+599,6
@@
tThread *Threads_GetNextToRun(int CPU)
void Threads_SegFault(tVAddr Addr)
{
//Threads_SendSignal( Proc_GetCurThread()->TID, SIGSEGV );
void Threads_SegFault(tVAddr Addr)
{
//Threads_SendSignal( Proc_GetCurThread()->TID, SIGSEGV );
- Threads_Kill( Proc_GetCurThread(), 0 );
+ Log("Thread #%i committed a segfault at address %p\n", Proc_GetCurThread()->TID, Addr);
+ Threads_Exit( 0, 0 );
}
}
UCC
git Repository :: git.ucc.asn.au