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

@@ -51,9 +51,6 @@ struct Genode::Cpu_thread_client : Rpc_client<Cpu_thread>
void resume() override {
call<Rpc_resume>(); }
void cancel_blocking() override {
call<Rpc_cancel_blocking>(); }
Thread_state state() override {
return call<Rpc_get_state>(); }

View File

@@ -256,12 +256,6 @@ namespace Genode {
return true;
}
/**
* Cancel blocking in a lock so that recall exception can take
* place.
*/
void client_cancel_blocking();
uint8_t client_recall(bool get_state_and_block);
void client_set_ec(addr_t ec) { _state.sel_client_ec = ec; }

View File

@@ -123,11 +123,6 @@ namespace Genode {
*/
void resume();
/**
* Cancel currently blocking operation
*/
void cancel_blocking();
/**
* Override thread state with 's'
*

View File

@@ -450,21 +450,6 @@ void Pager_object::wake_up()
}
void Pager_object::client_cancel_blocking()
{
uint8_t res = sm_ctrl(exc_pt_sel_client() + SM_SEL_EC, SEMAPHORE_UP);
if (res != NOVA_OK)
warning("canceling blocked client failed (thread sm)");
if (!_state.has_signal_sm())
return;
res = sm_ctrl(exc_pt_sel_client() + PT_SEL_STARTUP, SEMAPHORE_UP);
if (res != NOVA_OK)
warning("canceling blocked client failed (signal sm)");
}
uint8_t Pager_object::client_recall(bool get_state_and_block)
{
Mutex::Guard _state_lock_guard(_state_lock);

View File

@@ -278,14 +278,6 @@ void Platform_thread::state(Thread_state s)
}
void Platform_thread::cancel_blocking()
{
if (!_pager) return;
_pager->client_cancel_blocking();
}
void Platform_thread::single_step(bool on)
{
if (!_pager) return;

View File

@@ -150,12 +150,3 @@ void Thread::start()
new (platform().core_mem_alloc())
Core_trace_source(Trace::sources(), *this);
}
void Thread::cancel_blocking()
{
using namespace Nova;
if (sm_ctrl(native_thread().exc_pt_sel + SM_SEL_EC, SEMAPHORE_UP))
nova_die();
}

View File

@@ -198,12 +198,3 @@ void Thread::start()
/* request creation of SC to let thread run*/
cpu_thread.resume();
}
void Thread::cancel_blocking()
{
using namespace Nova;
if (sm_ctrl(native_thread().exc_pt_sel + SM_SEL_EC, SEMAPHORE_UP))
nova_die();
}