genode/repos/os/include
Norman Feske ff2176a586 vfs,libc: support write fds in select
By adding a 'write_ready' interface following the lines of the existing
'read_ready', VFS plugins become able to propagate the (de-)saturation
of I/O buffers to the VFS user. This information is important when using
a non-blocking file descriptor for writing into a TCP socket. Once the
application observes EAGAIN, it expects a subsequent 'select' call to
return as soon as new I/O buffer space becomes available.

Before this patch, the select call would always return under this
condition, causing an unnecessarily busy write loop.

Issue #4697
2023-01-24 12:07:28 +01:00
..
audio_in_session audio_in_session: fix wrong buffer in content 2022-08-10 13:33:04 +02:00
audio_out_session audio_out_session: reset changes to 'pos = tail' 2022-09-19 14:00:35 +02:00
blit os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
block Remove unneeded session_size check 2022-08-10 13:32:57 +02:00
block_session os: simplify split block operations 2022-04-13 14:08:15 +02:00
capture_session Capture session interface 2020-07-13 11:33:13 +02:00
decorator Create Point, Area, Rect via 'from_xml' functions 2022-08-31 09:32:08 +02:00
event_session event_session: make Session_client::Batch abstract 2020-08-25 11:49:43 +02:00
file_system file_system/util.h: remove packet-stream helpers 2022-02-15 10:11:10 +01:00
file_system_session file_system_session: increase TX_QUEUE_SIZE to 32 2023-01-24 12:07:27 +01:00
framebuffer_session Change pixel format to 32 bits per pixel 2020-06-29 14:22:29 +02:00
genode_c_api genode_c_api: add config update to block interface 2022-11-17 08:00:35 +01:00
gpio os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
gpio_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
gpu gpu/intel: GEN12+ 2022-11-17 08:00:36 +01:00
gpu_session gpu_session: add PPGTT address query function 2022-08-10 13:33:00 +02:00
gui_session Change pixel format to 32 bits per pixel 2020-06-29 14:22:29 +02:00
i2c_session os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
init Adaptation to init refactoring 2017-03-24 16:19:56 +01:00
input os: Input::Event:Axis event type 2022-02-15 10:17:28 +01:00
input_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
ldso Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
loader_session Rename 'Nitpicker' namespace to 'Gui' 2020-06-22 09:39:40 +02:00
mixer os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
net nic_router: no ICMP on unroutable IPv4 multicast 2022-08-17 12:26:01 +02:00
nic Remove unused Nic::Root implementation (nic/root.h) 2022-05-25 12:19:31 +02:00
nic_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
nitpicker_gfx os: Don't use char as array subscript. 2022-02-15 10:23:58 +01:00
os vfs: simplify File_io_service::write return values 2023-01-24 12:07:28 +01:00
packet_stream_rx os: remove blocking semantics from packet stream 2022-02-15 10:10:03 +01:00
packet_stream_tx os: remove blocking semantics from packet stream 2022-02-15 10:10:03 +01:00
pci platform_drv: implement PCI powering and reset 2022-10-12 12:09:37 +02:00
pin_control_session os/pin_driver: support for time-multiplexed in/out 2022-11-17 08:00:35 +01:00
pin_state_session os: Pin_control and Pin_state session interfaces 2021-11-29 15:10:52 +01:00
platform_session platform_drv: update ROM in device_by_type() 2022-11-29 12:29:57 +01:00
pointer os: avoid garbage warnings in app/painter 2019-01-07 12:25:45 +01:00
ram_fs os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
report_rom Remove unneeded session_size check 2022-08-10 13:32:57 +02:00
report_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rtc_session rtc: extended session with set-signal 2019-08-21 12:37:01 +02:00
sandbox separate sandbox api from os 2021-06-25 11:41:45 +02:00
smbios os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
spec os: remove obsolete i.MX framebuffer session 2022-11-17 08:00:35 +01:00
terminal os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
terminal_session os: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
trace trace: add trace_eth_packet event 2022-08-17 12:03:07 +02:00
uart_session os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
uplink_session os: introduce new "Uplink" session 2021-01-25 13:48:09 +01:00
usb usb_session: align USB packet allocation correctly 2022-11-17 08:00:35 +01:00
usb_session usb_session: align USB packet allocation correctly 2022-11-17 08:00:35 +01:00
util util/geometry: support 'Rect::from_xml' 2022-08-17 14:28:12 +02:00
vfs vfs,libc: support write fds in select 2023-01-24 12:07:28 +01:00
virtio virtio_pci: use generic platform API 2022-10-12 12:09:34 +02:00