mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-18 15:18:20 +00:00
committed by
Norman Feske
parent
f054b70e33
commit
fde150b052
@ -39,7 +39,7 @@ namespace Kernel
|
|||||||
{
|
{
|
||||||
enum {
|
enum {
|
||||||
NEW_THREAD = 0,
|
NEW_THREAD = 0,
|
||||||
DELETE_THREAD = 1,
|
KILL_THREAD = 1,
|
||||||
START_THREAD = 2,
|
START_THREAD = 2,
|
||||||
PAUSE_THREAD = 3,
|
PAUSE_THREAD = 3,
|
||||||
RESUME_THREAD = 4,
|
RESUME_THREAD = 4,
|
||||||
@ -218,17 +218,15 @@ namespace Kernel
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete an existing thread
|
* Destruct kernel thread-object
|
||||||
*
|
*
|
||||||
* \param id kernel name of the targeted thread
|
* \param thread_id kernel name of the targeted thread
|
||||||
*
|
*
|
||||||
* Restricted to core threads. After calling this, the memory that was
|
* Restricted to core threads.
|
||||||
* granted beforehand by 'new_thread' to kernel for managing this thread
|
|
||||||
* is freed again.
|
|
||||||
*/
|
*/
|
||||||
inline void delete_thread(unsigned const thread_id)
|
inline void kill_thread(unsigned const thread_id)
|
||||||
{
|
{
|
||||||
call(Call_id::DELETE_THREAD, thread_id);
|
call(Call_id::KILL_THREAD, thread_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ void Thread::_call_new_thread()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Thread::_call_delete_thread()
|
void Thread::_call_kill_thread()
|
||||||
{
|
{
|
||||||
/* check permissions */
|
/* check permissions */
|
||||||
assert(_core());
|
assert(_core());
|
||||||
@ -866,7 +866,7 @@ void Thread::_call()
|
|||||||
{
|
{
|
||||||
switch (user_arg_0()) {
|
switch (user_arg_0()) {
|
||||||
case Call_id::NEW_THREAD: _call_new_thread(); return;
|
case Call_id::NEW_THREAD: _call_new_thread(); return;
|
||||||
case Call_id::DELETE_THREAD: _call_delete_thread(); return;
|
case Call_id::KILL_THREAD: _call_kill_thread(); return;
|
||||||
case Call_id::START_THREAD: _call_start_thread(); return;
|
case Call_id::START_THREAD: _call_start_thread(); return;
|
||||||
case Call_id::PAUSE_THREAD: _call_pause_thread(); return;
|
case Call_id::PAUSE_THREAD: _call_pause_thread(); return;
|
||||||
case Call_id::RESUME_THREAD: _call_resume_thread(); return;
|
case Call_id::RESUME_THREAD: _call_resume_thread(); return;
|
||||||
|
@ -185,7 +185,7 @@ class Kernel::Thread
|
|||||||
void _call_new_pd();
|
void _call_new_pd();
|
||||||
void _call_kill_pd();
|
void _call_kill_pd();
|
||||||
void _call_new_thread();
|
void _call_new_thread();
|
||||||
void _call_delete_thread();
|
void _call_kill_thread();
|
||||||
void _call_start_thread();
|
void _call_start_thread();
|
||||||
void _call_pause_thread();
|
void _call_pause_thread();
|
||||||
void _call_resume_thread();
|
void _call_resume_thread();
|
||||||
|
@ -69,7 +69,7 @@ Platform_thread::~Platform_thread()
|
|||||||
rm->remove_client(cap);
|
rm->remove_client(cap);
|
||||||
}
|
}
|
||||||
/* destroy object at the kernel */
|
/* destroy object at the kernel */
|
||||||
Kernel::delete_thread(_id);
|
Kernel::kill_thread(_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user