10 #include "copyright.h" 34 UserThread(
void * ,
void * arg,
unsigned int tid,
int exitPC);
38 void exit(
void * returnAdress);
43 int StopChild(
unsigned int CID);
44 int WakeUpChild(
unsigned int CID);
59 int* getTableOfOpenfile();
63 bool WaitingForChild =
false;
75 #endif // USERTHREAD_H void addChildren(UserThread *UTC)
UserThread::addChildren Add a thread to the child list.
Definition: userthread.cc:205
void DoneWithTheChildList()
UserThread::DoneWithTheChildList trash the lock Locked from getChildList.
Definition: userthread.cc:67
~UserThread()
UserThread::~UserThread Delete the UserThread class.
Definition: userthread.cc:41
void * getUserThreadDataChild(unsigned int CID)
UserThread::getUserThreadDataChild Get the Meta Data structure of the child with TID CID...
Definition: userthread.cc:224
void setSurvivor(bool boolean)
UserThread::setSurvivor Enable or disable the survivor mode.
Definition: userthread.cc:260
void StartUserThread(int data)
StartUserThread Init the NachOS thread.
Definition: exception.cc:286
void exit(void *returnAdress)
UserThread::exit Finis the thread. Put information on the current UserThreadData if it had a parent...
Definition: userthread.cc:93
void Run()
UserThread::Run Do the fork and place the thread into the ready list.
Definition: userthread.cc:75
void WaitForAllChildExited()
UserThread::WaitForAllChildExited Wait for all the child exited.
Definition: userthread.cc:151
The following class defines a "thread control block" – which represents a single thread of execution...
Definition: thread.h:79
Data structures for opening, closing, reading and writing.
Data structures for managing threads.
Definition: userthread.h:31
bool isSurvivor()
UserThread::isSurvivor Test if the current thread is in mode survivor.
Definition: userthread.cc:252
UserThread * getParrent()
UserThread::getParrent Get the UserThread * parrent.
Definition: userthread.cc:267
int makeChildSurvive(unsigned int CID)
UserThread::makeChildSurvive Pass a child in suvivor mode.
Definition: userthread.cc:168
User thread implementation.
void * getMeta()
UserThread::getMeta return the adress of the metaStructure.
Definition: userthread.cc:239
void * WaitForChildExited(int CID)
UserThread::WaitForChildExited Current thraid will wait that his child end.
Definition: userthread.cc:128
bool removeChild(void *childToRemove)
UserThread::removeChild Remove the child of the current child list.
Definition: userthread.cc:194
Definition: userthread.h:23
void makeAllChildSurvive()
UserThread::makeAllChildSurvive Put all the child of the current thread in survivor mode...
Definition: userthread.cc:179
void setMeta(void *)
UserThread::setMeta Set a metaData for the current thread.
Definition: userthread.cc:245
Thread * getThread()
UserThread::getThread Get the Thread of the UserThread.
Definition: userthread.cc:52
Miscellaneous useful definitions, including debugging routines.
unsigned int getId()
UserThread::getId() get The Thread Id.
Definition: userthread.cc:85
Data structures for synchronized access to a list.
UserThread(void *, void *arg, unsigned int tid, int exitPC)
UserThread::UserThread.
Definition: userthread.cc:20
The following class defines a "synchronized list" – a list for which: these constraints hold: ...
Definition: synchlist.h:27
void setParrent(UserThread *UTP)
UserThread::setParrent Add a parrent to the current thread.
Definition: userthread.cc:215
List * getChildList()
UserThread::getChildList Get the child list and put a lock on it when done, don't forget to use DoneW...
Definition: userthread.cc:60