mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-24 10:12:25 -05:00
e28af4a2fc
This commit removes the usage of HashMap in Mutex, thereby making Mutex be allocation-free. In order to achieve this several simplifications were made to Mutex, removing unused code-paths and extra VERIFYs: * We no longer support 'upgrading' a shared lock holder to an exclusive holder when it is the only shared holder and it did not unlock the lock before relocking it as exclusive. NOTE: Unlike the rest of these changes, this scenario is not VERIFY-able in an allocation-free way, as a result the new LOCK_SHARED_UPGRADE_DEBUG debug flag was added, this flag lets Mutex allocate in order to detect such cases when debugging a deadlock. * We no longer support checking if a Mutex is locked by the current thread when the Mutex was not locked exclusively, the shared version of this check was not used anywhere. * We no longer support force unlocking/relocking a Mutex if the Mutex was not locked exclusively, the shared version of these functions was not used anywhere. |
||
---|---|---|
.. | ||
Intel | ||
NE2000 | ||
Realtek | ||
ARP.h | ||
EthernetFrameHeader.h | ||
EtherType.h | ||
ICMP.h | ||
IPv4.h | ||
IPv4Socket.cpp | ||
IPv4Socket.h | ||
IPv4SocketTuple.h | ||
LocalSocket.cpp | ||
LocalSocket.h | ||
LoopbackAdapter.cpp | ||
LoopbackAdapter.h | ||
NetworkAdapter.cpp | ||
NetworkAdapter.h | ||
NetworkingManagement.cpp | ||
NetworkingManagement.h | ||
NetworkTask.cpp | ||
NetworkTask.h | ||
Routing.cpp | ||
Routing.h | ||
Socket.cpp | ||
Socket.h | ||
TCP.h | ||
TCPSocket.cpp | ||
TCPSocket.h | ||
UDP.h | ||
UDPSocket.cpp | ||
UDPSocket.h |