mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01: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:
committed by
Norman Feske
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user