mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
parent
8d1e40eb5b
commit
b55646e1b0
@ -181,11 +181,6 @@ class Kernel::Ipc_node
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* IPC node received a request without waiting
|
||||
*/
|
||||
virtual void _received_ipc_request(size_t const s) = 0;
|
||||
|
||||
/**
|
||||
* IPC node returned from waiting due to message receipt
|
||||
*
|
||||
@ -278,7 +273,6 @@ class Kernel::Ipc_node
|
||||
/* if anybody already announced a request receive it */
|
||||
if (!_request_queue.empty()) {
|
||||
_receive_request(_request_queue.dequeue());
|
||||
_received_ipc_request(_inbuf.size);
|
||||
return true;
|
||||
}
|
||||
/* no request announced, so wait */
|
||||
|
@ -71,20 +71,6 @@ void Thread::_receive_signal(void * const base, size_t const size)
|
||||
}
|
||||
|
||||
|
||||
void Thread::_received_ipc_request(size_t const s)
|
||||
{
|
||||
switch (_state) {
|
||||
case SCHEDULED:
|
||||
user_arg_0(0);
|
||||
return;
|
||||
default:
|
||||
PWRN("wrong thread state to receive IPC");
|
||||
_stop();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Thread::_await_ipc_succeeded(size_t const s)
|
||||
{
|
||||
switch (_state) {
|
||||
@ -418,7 +404,10 @@ void Thread::_call_await_request_msg()
|
||||
void * buf_base;
|
||||
size_t buf_size;
|
||||
_utcb_phys->message()->info_about_await_request(buf_base, buf_size);
|
||||
if (Ipc_node::await_request(buf_base, buf_size)) { return; }
|
||||
if (Ipc_node::await_request(buf_base, buf_size)) {
|
||||
user_arg_0(0);
|
||||
return;
|
||||
}
|
||||
_unschedule(AWAITS_IPC);
|
||||
}
|
||||
|
||||
|
@ -280,7 +280,6 @@ class Kernel::Thread
|
||||
** Ipc_node **
|
||||
**************/
|
||||
|
||||
void _received_ipc_request(size_t const s);
|
||||
void _await_ipc_succeeded(size_t const s);
|
||||
void _await_ipc_failed();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user