mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
LibCore: Awaken read notifiers when we receive POLLHUP events
POLLHUP is set when the remote end of the monitored fd is closed. There may still be some buffered data to read from the socket, however. Some systems do not set POLLIN in these cases. So we should just always try to read from fds when we receive this event.
This commit is contained in:
committed by
Andrew Kaster
parent
f46b721c57
commit
a9f7579738
Notes:
github-actions[bot]
2025-07-07 21:54:15 +00:00
Author: https://github.com/ADKaster Commit: https://github.com/LadybirdBrowser/ladybird/commit/a9f75797389 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5331
@@ -420,10 +420,12 @@ try_select_again:
|
||||
if (has_flag(revents, POLLOUT))
|
||||
type |= NotificationType::Write;
|
||||
if (has_flag(revents, POLLHUP))
|
||||
type |= NotificationType::HangUp;
|
||||
type |= NotificationType::Read | NotificationType::HangUp;
|
||||
if (has_flag(revents, POLLERR))
|
||||
type |= NotificationType::Error;
|
||||
|
||||
type &= notifier.type();
|
||||
|
||||
if (type != NotificationType::None)
|
||||
ThreadEventQueue::current().post_event(notifier, make<NotifierActivationEvent>(notifier.fd(), type));
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user