mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:48:11 +00:00
Kernel: Make self-contained locking smart pointers their own classes
Until now, our kernel has reimplemented a number of AK classes to provide automatic internal locking: - RefPtr - NonnullRefPtr - WeakPtr - Weakable This patch renames the Kernel classes so that they can coexist with the original AK classes: - RefPtr => LockRefPtr - NonnullRefPtr => NonnullLockRefPtr - WeakPtr => LockWeakPtr - Weakable => LockWeakable The goal here is to eventually get rid of the Lock* classes in favor of using external locking.
This commit is contained in:
parent
e475263113
commit
11eee67b85
360 changed files with 1703 additions and 1672 deletions
|
@ -38,7 +38,7 @@ UNMAP_AFTER_INIT NetworkingManagement::NetworkingManagement()
|
|||
{
|
||||
}
|
||||
|
||||
NonnullRefPtr<NetworkAdapter> NetworkingManagement::loopback_adapter() const
|
||||
NonnullLockRefPtr<NetworkAdapter> NetworkingManagement::loopback_adapter() const
|
||||
{
|
||||
return *m_loopback_adapter;
|
||||
}
|
||||
|
@ -59,13 +59,13 @@ ErrorOr<void> NetworkingManagement::try_for_each(Function<ErrorOr<void>(NetworkA
|
|||
});
|
||||
}
|
||||
|
||||
RefPtr<NetworkAdapter> NetworkingManagement::from_ipv4_address(IPv4Address const& address) const
|
||||
LockRefPtr<NetworkAdapter> NetworkingManagement::from_ipv4_address(IPv4Address const& address) const
|
||||
{
|
||||
if (address[0] == 0 && address[1] == 0 && address[2] == 0 && address[3] == 0)
|
||||
return m_loopback_adapter;
|
||||
if (address[0] == 127)
|
||||
return m_loopback_adapter;
|
||||
return m_adapters.with([&](auto& adapters) -> RefPtr<NetworkAdapter> {
|
||||
return m_adapters.with([&](auto& adapters) -> LockRefPtr<NetworkAdapter> {
|
||||
for (auto& adapter : adapters) {
|
||||
if (adapter.ipv4_address() == address || adapter.ipv4_broadcast() == address)
|
||||
return adapter;
|
||||
|
@ -74,9 +74,9 @@ RefPtr<NetworkAdapter> NetworkingManagement::from_ipv4_address(IPv4Address const
|
|||
});
|
||||
}
|
||||
|
||||
RefPtr<NetworkAdapter> NetworkingManagement::lookup_by_name(StringView name) const
|
||||
LockRefPtr<NetworkAdapter> NetworkingManagement::lookup_by_name(StringView name) const
|
||||
{
|
||||
return m_adapters.with([&](auto& adapters) -> RefPtr<NetworkAdapter> {
|
||||
return m_adapters.with([&](auto& adapters) -> LockRefPtr<NetworkAdapter> {
|
||||
for (auto& adapter : adapters) {
|
||||
if (adapter.name() == name)
|
||||
return adapter;
|
||||
|
@ -94,7 +94,7 @@ ErrorOr<NonnullOwnPtr<KString>> NetworkingManagement::generate_interface_name_fr
|
|||
return name;
|
||||
}
|
||||
|
||||
UNMAP_AFTER_INIT RefPtr<NetworkAdapter> NetworkingManagement::determine_network_device(PCI::DeviceIdentifier const& device_identifier) const
|
||||
UNMAP_AFTER_INIT LockRefPtr<NetworkAdapter> NetworkingManagement::determine_network_device(PCI::DeviceIdentifier const& device_identifier) const
|
||||
{
|
||||
if (auto candidate = E1000NetworkAdapter::try_to_initialize(device_identifier); !candidate.is_null())
|
||||
return candidate;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue