genode/repos/os/include
Emery Hemingway a635873568 VFS: Replace global response handlers with local handlers
Replace the I/O response handler that is passed to the VFS at
construction with an object that is dynamically attached to handles.
This object shall also accept read-ready notifications, and plugins are
encouraged to keep handles awaiting ready-ready notifications separate
from handles that await I/O progress.

Replace the use of handle lists in plugins with handle queues, this
makes the code easier to understand and the ordering of notifications to
the application more explicit.

These changes replace the use of the Post_signal_hook from all VFS
plugins, applications must assume that read-ready and I/O notifications
occur during I/O signal dispatch and use an Io_progress_handler at its
entrypoints to defer response until after signal dispatching.

Fix #3257
2019-04-09 12:30:34 +02:00
..
audio_in_session Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
audio_out_session os: clear remaining samples in Audio packet 2019-04-09 12:30:34 +02:00
blit
block os: make Block::Request_stream::Ack noncopyable 2019-03-19 11:00:01 +01:00
block_session Clarify documentation of Block::Session::info() 2019-02-28 11:34:07 +01:00
cli_monitor Add missing override annotations 2019-02-19 11:12:11 +01:00
decorator base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
file_system base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
file_system_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
framebuffer_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
gpio Remove residual uses of deprecated APIs 2019-02-19 11:12:12 +01:00
gpio_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
gpu_session Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
init Adaptation to init refactoring 2017-03-24 16:19:56 +01:00
input os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
input_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
ldso
loader_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
mixer os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
net os: avoid warning in ethernet.h 2019-01-07 12:25:45 +01:00
nic zynq: improve cache handling in nic_drv 2019-02-26 14:47:02 +01:00
nic_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
nitpicker_gfx nitpicker: avoid color bleeding 2019-01-07 12:43:23 +01:00
nitpicker_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
os os: Pixel_rgba::transfer interface 2019-03-18 15:56:24 +01:00
packet_stream_rx Add missing override annotations 2019-02-19 11:12:11 +01:00
packet_stream_tx Add missing override annotations 2019-02-19 11:12:11 +01:00
platform_device Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
platform_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
pointer os: avoid garbage warnings in app/painter 2019-01-07 12:25:45 +01:00
ram_fs ram_fs: increase max file size on 64 bit to 8 GiB 2019-03-18 15:57:00 +01:00
regulator Add missing override annotations 2019-02-19 11:12:11 +01:00
regulator_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
report_rom os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
report_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rtc_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
spec base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
terminal Add missing override annotations 2019-02-19 11:12:11 +01:00
terminal_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
trace
uart_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
usb base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
usb_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
util base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
vfs VFS: Replace global response handlers with local handlers 2019-04-09 12:30:34 +02:00