genode/repos/base/include/base
Emery Hemingway 57fd4e9148 Add Io_progress_handler to Entrypoint interface
The "schedule_post_signal_hook" method of the Genode::Entrypoint class
is problematic because the signal hook can be scheduled and replaced
multiple times during the signal dispatch cycle. Add an alternative to
this method with "register_io_progress_handler" and the "Post_signal_
hook" class with "Io_progress_handler". The difference being an
"Io_progress_handler" may be registered once during the lifetime of an
entrypoint to prevent arbitrary libraries from replacing a pending hook.

The "register_io_progress_handler" remains as a deprecated API, and is
now invoked for every I/O signal received and only for I/O signals
rather than for any signal.

Ref #3132
2019-03-18 15:56:22 +01:00
..
trace base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
affinity.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
alarm.h Move timer from os to base repository 2019-01-14 12:33:57 +01:00
allocator_avl.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
allocator_guard.h base: remove debug message from Allocator_guard 2018-02-09 13:34:15 +01:00
allocator.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
attached_dataspace.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
attached_io_mem_dataspace.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
attached_ram_dataspace.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
attached_rom_dataspace.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
blocking.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
buffered_output.h base: move 'Buffered_output' class into public header 2019-01-30 13:49:55 +01:00
cache.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
cancelable_lock.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
capability.h Cleanup Call_return encapsulation in call() 2017-05-02 15:28:52 +02:00
child.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
component.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
connection.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
console.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
debug.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
duration.h Move timer from os to base repository 2019-01-14 12:33:57 +01:00
entrypoint.h Add Io_progress_handler to Entrypoint interface 2019-03-18 15:56:22 +01:00
env.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
exception.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
heap.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
id_space.h clang: use template keyword on template methods 2018-11-16 14:37:18 +01:00
ipc_msgbuf.h base: avoid null pointer reference warning 2019-01-07 12:25:45 +01:00
ipc.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
local_connection.h base: fix quota transfer to async env services 2018-06-12 12:11:47 +02:00
lock_guard.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
lock.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
log.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
native_capability.h core: avoid null pointer reference warning 2019-01-07 12:25:44 +01:00
object_pool.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
output.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
quota_guard.h Remove replenish error message from quota guard 2018-02-28 11:05:04 +01:00
quota_transfer.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
ram_allocator.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
registry.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
rpc_args.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rpc_client.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rpc_server.h Add missing override annotations 2019-02-19 11:12:11 +01:00
rpc.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
semaphore.h Remove pointers from Genode::Fifo interface 2019-02-19 11:08:17 +01:00
service.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
session_label.h session_label: make typedef String public 2018-06-29 10:40:14 +02:00
session_object.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
session_state.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
shared_object.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
signal.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
slab.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
sleep.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
snprintf.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
stdint.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
synced_allocator.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
synced_interface.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
thread_state.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
thread.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
tslab.h base: construct 'Tslab' with allocator reference 2017-05-31 13:16:03 +02:00
weak_ptr.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00