base: classify signals as I/O and application level

Fixes #2363
This commit is contained in:
Christian Helmuth
2017-04-03 10:45:51 +02:00
parent e33d65aea0
commit 1d99e7ede9
22 changed files with 287 additions and 131 deletions

View File

@ -167,9 +167,8 @@ class Vfs::Fs_file_system : public File_system
/* pass packet to server side */
source.submit_packet(packet_in);
while (handle.queued_read_state != Handle_state::Queued_state::ACK)
{
_env.ep().wait_and_dispatch_one_signal();
while (handle.queued_read_state != Handle_state::Queued_state::ACK) {
_env.ep().wait_and_dispatch_one_io_signal();
}
/* obtain result packet descriptor with updated status info */
@ -219,9 +218,8 @@ class Vfs::Fs_file_system : public File_system
/* pass packet to server side */
source.submit_packet(packet_in);
while (handle.queued_write_state != Handle_state::Queued_state::ACK)
{
_env.ep().wait_and_dispatch_one_signal();
while (handle.queued_write_state != Handle_state::Queued_state::ACK) {
_env.ep().wait_and_dispatch_one_io_signal();
}
/* obtain result packet descriptor with updated status info */
@ -274,7 +272,7 @@ class Vfs::Fs_file_system : public File_system
}
}
Genode::Signal_handler<Fs_file_system> _ack_handler {
Genode::Io_signal_handler<Fs_file_system> _ack_handler {
_env.ep(), *this, &Fs_file_system::_handle_ack };
public: