1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 16:18:12 +00:00
serenity/Libraries/LibCore
Andreas Kling 41066b009f LibCore: Don't fire Socket::on_ready_to_read if !can_read()
This is a bit of a pickle and I'm unsure what's the best behavior here.

Since notifiers fire asynchronously via the event loop, we may end up
firing a notifier for a socket fd, but then reading/writing that socket
fd before ending up in the notifier callback.

In that situation, the socket is no longer in the same state as it was
when the event loop generated the notifier event.

This patch stops Socket from firing one hook in this situation but this
probably needs a global rethink.

With this change, Browser starts reliably in multi-process mode. :^)
2020-07-06 23:17:10 +02:00
..
ArgsParser.cpp AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
ArgsParser.h LibCore: Allow ArgsParser::parse() to not exit on failure 2020-05-17 11:58:08 +02:00
CMakeLists.txt Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
ConfigFile.cpp AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
ConfigFile.h LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
DateTime.cpp LibCore: Add a primitive comparison function to DateTime 2020-05-07 10:23:58 +02:00
DateTime.h LibCore: Add a primitive comparison function to DateTime 2020-05-07 10:23:58 +02:00
DirIterator.cpp Misc: Replace "String(string_view)" with "string_view.to_string()" 2020-05-06 19:28:59 +02:00
DirIterator.h Userspace: Add missing #includes now that AK/StdLibExtras.h is smaller 2020-03-08 13:06:51 +01:00
ElapsedTimer.cpp LibCore: Use monotonic time when handling timers 2020-03-19 15:48:00 +01:00
ElapsedTimer.h LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
Event.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
Event.h LibCore: Add a forward declaration header 2020-02-14 23:31:18 +01:00
EventLoop.cpp LibCore: Only deliver Read/Write events to listening notifiers 2020-07-06 23:17:10 +02:00
EventLoop.h LibCore: Do not assert that we can start the RPC server 2020-05-29 07:53:30 +02:00
File.cpp Kernel: Move headers intended for userspace use into Kernel/API/ 2020-07-04 17:22:23 +02:00
File.h LibCore: Add File::read_link() :^) 2020-06-17 15:02:03 +02:00
Forward.h LibCore: Fix typo in Forward.h 2020-06-11 22:44:54 +02:00
Gzip.cpp LibCore: Trim decompressed Gzip output to size 2020-04-28 09:32:33 +02:00
Gzip.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
IODevice.cpp LibCore: Make IODevice::can_read_line() const 2020-05-15 09:50:48 +02:00
IODevice.h LibCore: Make IODevice::can_read_line() const 2020-05-15 09:50:48 +02:00
IODeviceStreamReader.h LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
LocalServer.cpp LibCore: Remove some debug spam in Local{Server,Socket} 2020-06-22 21:21:38 +02:00
LocalServer.h LibCore: Remove a bunch of unnecessary forward declarations 2020-02-15 00:32:33 +01:00
LocalSocket.cpp LibCore: Remove some debug spam in Local{Server,Socket} 2020-06-22 21:21:38 +02:00
LocalSocket.h LibCore: Add API for taking over an accepted socket from SystemServer 2020-06-21 21:54:30 +02:00
MimeData.cpp LibCore: Add Core::MimeData class 2020-02-14 13:17:26 +01:00
MimeData.h LibCore: Add Core::MimeData class 2020-02-14 13:17:26 +01:00
NetworkJob.cpp ProtocolServer: Implement and handle download progress 2020-05-03 12:59:26 +02:00
NetworkJob.h ProtocolServer: Implement and handle download progress 2020-05-03 12:59:26 +02:00
NetworkResponse.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
NetworkResponse.h LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
Notifier.cpp LibCore: Add a forward declaration header 2020-02-14 23:31:18 +01:00
Notifier.h LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
Object.cpp AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
Object.h LibCore: Add a way to set an individual Core::Object property remotely 2020-03-05 15:50:22 +01:00
ProcessStatisticsReader.cpp Kernel/LibCore: Expose processor id where a thread last ran 2020-07-01 12:07:01 +02:00
ProcessStatisticsReader.h Kernel/LibCore: Expose processor id where a thread last ran 2020-07-01 12:07:01 +02:00
puff.c LibCore: Move puff() from LibDraw to LibCore 2019-11-23 23:43:37 +01:00
puff.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
Socket.cpp LibCore: Don't fire Socket::on_ready_to_read if !can_read() 2020-07-06 23:17:10 +02:00
Socket.h LibCore+LibTLS: Don't keep a "ready to write" notifier on all Sockets 2020-05-18 20:16:52 +02:00
SocketAddress.cpp LibCore: Move LogStream::operator<< overloads into cpp files 2020-02-15 00:58:52 +01:00
SocketAddress.h Userspace: Add missing #includes now that AK/StdLibExtras.h is smaller 2020-03-08 13:06:51 +01:00
StandardPaths.cpp AK: Rename FileSystemPath -> LexicalPath 2020-05-26 14:35:10 +02:00
StandardPaths.h LibCore: Add a standard downloads directory (~/Downloads) 2020-05-05 23:56:57 +02:00
SyscallUtils.h LibCore: Put safe_syscall() debug spam behind #ifdef 2020-06-22 21:19:10 +02:00
TCPServer.cpp Build: Make Lagom build under macOS (#2341) 2020-05-23 15:31:30 +02:00
TCPServer.h LibCore: Remove a bunch of unnecessary forward declarations 2020-02-15 00:32:33 +01:00
TCPSocket.cpp Build: Make Lagom build under macOS (#2341) 2020-05-23 15:31:30 +02:00
TCPSocket.h LibCore: Remove a bunch of unnecessary forward declarations 2020-02-15 00:32:33 +01:00
Timer.cpp LibCore: Add Timer::restart() convenience API 2020-06-11 22:35:37 +02:00
Timer.h LibCore: Add Timer::restart() convenience API 2020-06-11 22:35:37 +02:00
UDPServer.cpp Build: Make Lagom build under macOS (#2341) 2020-05-23 15:31:30 +02:00
UDPServer.h LibCore: Fix UDPServer up to properly receive data 2020-04-04 12:25:33 +02:00
UDPSocket.cpp Build: Make Lagom build under macOS (#2341) 2020-05-23 15:31:30 +02:00
UDPSocket.h LibCore: Rename Udp classes to UDP 2020-03-14 23:56:12 +01:00