base: remove deprecated cancel_blocking() support
for threads. Fixes #3806
This commit is contained in:
committed by
Norman Feske
parent
ce6f4dffe5
commit
f3efbe50bb
@@ -59,8 +59,7 @@ namespace Kernel
|
||||
constexpr Call_arg call_id_ack_irq() { return 120; }
|
||||
constexpr Call_arg call_id_new_obj() { return 121; }
|
||||
constexpr Call_arg call_id_delete_obj() { return 122; }
|
||||
constexpr Call_arg call_id_cancel_thread_blocking() { return 123; }
|
||||
constexpr Call_arg call_id_new_core_thread() { return 124; }
|
||||
constexpr Call_arg call_id_new_core_thread() { return 123; }
|
||||
|
||||
/**
|
||||
* Invalidate TLB entries for the `pd` in region `addr`, `sz`
|
||||
@@ -140,27 +139,6 @@ namespace Kernel
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cancel blocking of a thread if it is in a cancelable blocking state
|
||||
*
|
||||
* \param thread pointer to thread kernel object
|
||||
*
|
||||
* Does cleanly cancel a cancelable blocking thread state (IPC, signalling,
|
||||
* stopped). The thread whose blocking was cancelled goes back to the
|
||||
* 'active' thread state. If needed, it receives a syscall return value
|
||||
* that reflects the cancellation. This syscall doesn't affect the pause
|
||||
* state of the thread (see the 'pause_thread' syscall) which means that
|
||||
* the thread may still be not allowed for scheduling. The syscall is
|
||||
* core-restricted and may target any thread. It is actually used to
|
||||
* limit the time a parent waits for a server when closing a session
|
||||
* of one of its children.
|
||||
*/
|
||||
inline void cancel_thread_blocking(Thread & thread)
|
||||
{
|
||||
call(call_id_cancel_thread_blocking(), (Call_arg)&thread);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set or unset the handler of an event that can be triggered by a thread
|
||||
*
|
||||
|
||||
@@ -346,12 +346,6 @@ bool Thread::_restart()
|
||||
}
|
||||
|
||||
|
||||
void Thread::_call_cancel_thread_blocking()
|
||||
{
|
||||
reinterpret_cast<Thread*>(user_arg_1())->_cancel_blocking();
|
||||
}
|
||||
|
||||
|
||||
void Thread::_cancel_blocking()
|
||||
{
|
||||
switch (_state) {
|
||||
@@ -768,7 +762,6 @@ void Thread::_call()
|
||||
case call_id_delete_thread(): _call_delete_thread(); return;
|
||||
case call_id_start_thread(): _call_start_thread(); return;
|
||||
case call_id_resume_thread(): _call_resume_thread(); return;
|
||||
case call_id_cancel_thread_blocking(): _call_cancel_thread_blocking(); return;
|
||||
case call_id_thread_pager(): _call_pager(); return;
|
||||
case call_id_invalidate_tlb(): _call_invalidate_tlb(); return;
|
||||
case call_id_new_pd():
|
||||
|
||||
@@ -220,7 +220,6 @@ class Kernel::Thread : private Kernel::Object, public Cpu_job, private Timeout
|
||||
void _call_stop_thread();
|
||||
void _call_pause_thread();
|
||||
void _call_resume_thread();
|
||||
void _call_cancel_thread_blocking();
|
||||
void _call_restart_thread();
|
||||
void _call_yield_thread();
|
||||
void _call_delete_thread();
|
||||
|
||||
@@ -162,12 +162,6 @@ namespace Genode {
|
||||
*/
|
||||
void resume() { Kernel::resume_thread(*_kobj); }
|
||||
|
||||
/**
|
||||
* Cancel currently blocking operation
|
||||
*/
|
||||
void cancel_blocking() {
|
||||
Kernel::cancel_thread_blocking(*_kobj); }
|
||||
|
||||
/**
|
||||
* Set CPU quota of the thread to 'quota'
|
||||
*/
|
||||
|
||||
@@ -77,12 +77,6 @@ void Thread::start()
|
||||
}
|
||||
|
||||
|
||||
void Thread::cancel_blocking()
|
||||
{
|
||||
native_thread().platform_thread->cancel_blocking();
|
||||
}
|
||||
|
||||
|
||||
void Thread::_deinit_platform_thread()
|
||||
{
|
||||
/* destruct platform thread */
|
||||
|
||||
@@ -100,9 +100,3 @@ void Thread::start()
|
||||
/* start thread with its initial IP and aligned SP */
|
||||
Cpu_thread_client(_thread_cap).start((addr_t)_thread_start, _stack->top());
|
||||
}
|
||||
|
||||
|
||||
void Thread::cancel_blocking()
|
||||
{
|
||||
Cpu_thread_client(_thread_cap).cancel_blocking();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user