parent
cb76c0c45f
commit
5a3e340699
|
@ -47,7 +47,6 @@ namespace Genode {
|
||||||
Weak_ptr<Address_space> _address_space;
|
Weak_ptr<Address_space> _address_space;
|
||||||
unsigned _id;
|
unsigned _id;
|
||||||
Rm_client * _rm_client;
|
Rm_client * _rm_client;
|
||||||
bool _main_thread;
|
|
||||||
Native_utcb * _phys_utcb;
|
Native_utcb * _phys_utcb;
|
||||||
Native_utcb * _virt_utcb;
|
Native_utcb * _virt_utcb;
|
||||||
Tlb * _tlb;
|
Tlb * _tlb;
|
||||||
|
@ -55,6 +54,16 @@ namespace Genode {
|
||||||
char _name[NAME_MAX_LEN];
|
char _name[NAME_MAX_LEN];
|
||||||
char _kernel_thread[sizeof(Kernel::Thread)];
|
char _kernel_thread[sizeof(Kernel::Thread)];
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Wether this thread is the main thread of a program.
|
||||||
|
* This should be used only after 'join_pd' was called
|
||||||
|
* or if this is a core thread. For core threads its save
|
||||||
|
* also without 'join_pd' because '_main_thread' is initialized
|
||||||
|
* with 0 wich is always true as cores main thread has no
|
||||||
|
* 'Platform_thread'.
|
||||||
|
*/
|
||||||
|
bool _main_thread;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common construction part
|
* Common construction part
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -60,13 +60,12 @@ Platform_thread::~Platform_thread()
|
||||||
Kernel::delete_thread(_id);
|
Kernel::delete_thread(_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Platform_thread::Platform_thread(const char * name,
|
Platform_thread::Platform_thread(const char * name,
|
||||||
Thread_base * const thread_base,
|
Thread_base * const thread_base,
|
||||||
size_t const stack_size, unsigned const pd_id)
|
size_t const stack_size, unsigned const pd_id)
|
||||||
:
|
:
|
||||||
_thread_base(thread_base), _stack_size(stack_size),
|
_thread_base(thread_base), _stack_size(stack_size),
|
||||||
_pd_id(pd_id), _rm_client(0), _virt_utcb(0)
|
_pd_id(pd_id), _rm_client(0), _virt_utcb(0), _main_thread(0)
|
||||||
{
|
{
|
||||||
strncpy(_name, name, NAME_MAX_LEN);
|
strncpy(_name, name, NAME_MAX_LEN);
|
||||||
|
|
||||||
|
@ -85,7 +84,7 @@ Platform_thread::Platform_thread(const char * name, unsigned int priority,
|
||||||
addr_t utcb)
|
addr_t utcb)
|
||||||
:
|
:
|
||||||
_thread_base(0), _stack_size(0), _pd_id(0), _rm_client(0),
|
_thread_base(0), _stack_size(0), _pd_id(0), _rm_client(0),
|
||||||
_virt_utcb((Native_utcb *)utcb)
|
_virt_utcb((Native_utcb *)utcb), _main_thread(0)
|
||||||
{
|
{
|
||||||
strncpy(_name, name, NAME_MAX_LEN);
|
strncpy(_name, name, NAME_MAX_LEN);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue