mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-19 16:41:26 +00:00
vfs/pipe: use local signal handling
This commit improves the performance of the pipe plugin by using local signal handling and avoiding sending a signal during write when pipe buffer is full. Issue #3583
This commit is contained in:
parent
90d9470dfd
commit
6e8728f2d3
@ -128,12 +128,12 @@ struct Vfs_pipe::Pipe
|
||||
|
||||
void submit_read_signal()
|
||||
{
|
||||
Genode::Signal_transmitter(_read_notify_handler).submit();
|
||||
_read_notify_handler.local_submit();
|
||||
}
|
||||
|
||||
void submit_write_signal()
|
||||
{
|
||||
Genode::Signal_transmitter(_write_notify_handler).submit();
|
||||
_write_notify_handler.local_submit();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -212,7 +212,6 @@ struct Vfs_pipe::Pipe
|
||||
bool notify = buffer.empty();
|
||||
|
||||
if (buffer.avail_capacity() == 0) {
|
||||
submit_read_signal();
|
||||
out_count = 0;
|
||||
return Write_result::WRITE_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user