base: remove deprecated cancel_blocking() support

for threads.

Fixes #3806
This commit is contained in:
Alexander Boettcher
2020-07-06 16:09:44 +02:00
committed by Norman Feske
parent ce6f4dffe5
commit f3efbe50bb
49 changed files with 3 additions and 343 deletions

View File

@@ -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
*

View File

@@ -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():

View File

@@ -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();

View File

@@ -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'
*/

View File

@@ -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 */

View File

@@ -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();
}