mirror of
https://github.com/genodelabs/genode.git
synced 2025-05-28 05:04:24 +00:00
vfs/pipe: fix dangling read_ready_waiters element
This patch removes the obsolete 'io_progress_elem', which was wrongly enqueued to the 'read_ready_waiters' fifo and not dequeued at destruction time. Fixes #4987
This commit is contained in:
parent
458206b11a
commit
e8059ccba5
@ -49,8 +49,7 @@ struct Vfs_pipe::Pipe_handle : Vfs::Vfs_handle, private Pipe_handle_registry_ele
|
||||
{
|
||||
Pipe &pipe;
|
||||
|
||||
Handle_element io_progress_elem { *this };
|
||||
Handle_element read_ready_elem { *this };
|
||||
Handle_element read_ready_elem { *this };
|
||||
|
||||
bool const writer;
|
||||
|
||||
@ -217,7 +216,7 @@ struct Vfs_pipe::Pipe
|
||||
return Write_result::WRITE_OK;
|
||||
}
|
||||
|
||||
Read_result read(Pipe_handle &handle, Byte_range_ptr const &dst, size_t &out_count)
|
||||
Read_result read(Pipe_handle &, Byte_range_ptr const &dst, size_t &out_count)
|
||||
{
|
||||
size_t out = 0;
|
||||
|
||||
@ -235,7 +234,6 @@ struct Vfs_pipe::Pipe
|
||||
if ((num_writers == 0) && !waiting_for_writers)
|
||||
return Read_result::READ_OK; /* EOF */
|
||||
|
||||
read_ready_waiters.enqueue(handle.io_progress_elem);
|
||||
return Read_result::READ_QUEUED;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user