diff options
author | Lenny Maiorani <lenny@colorado.edu> | 2021-01-10 16:29:28 -0700 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-01-12 09:11:45 +0100 |
commit | e6f907a1556757c623fe660df0a43faf1b3d0eae (patch) | |
tree | a3a07081ec2ebdac050d776c61d2c908459bf343 /Kernel/Net | |
parent | 9dc44bf8c427160bafd87205c42201cf9b11c0b4 (diff) | |
download | serenity-e6f907a1556757c623fe660df0a43faf1b3d0eae.zip |
AK: Simplify constructors and conversions from nullptr_t
Problem:
- Many constructors are defined as `{}` rather than using the ` =
default` compiler-provided constructor.
- Some types provide an implicit conversion operator from `nullptr_t`
instead of requiring the caller to default construct. This violates
the C++ Core Guidelines suggestion to declare single-argument
constructors explicit
(https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c46-by-default-declare-single-argument-constructors-explicit).
Solution:
- Change default constructors to use the compiler-provided default
constructor.
- Remove implicit conversion operators from `nullptr_t` and change
usage to enforce type consistency without conversion.
Diffstat (limited to 'Kernel/Net')
-rw-r--r-- | Kernel/Net/E1000NetworkAdapter.cpp | 2 | ||||
-rw-r--r-- | Kernel/Net/IPv4Socket.cpp | 4 | ||||
-rw-r--r-- | Kernel/Net/LocalSocket.cpp | 4 | ||||
-rw-r--r-- | Kernel/Net/NetworkTask.cpp | 2 | ||||
-rw-r--r-- | Kernel/Net/Routing.cpp | 2 | ||||
-rw-r--r-- | Kernel/Net/TCPSocket.cpp | 2 |
6 files changed, 8 insertions, 8 deletions
diff --git a/Kernel/Net/E1000NetworkAdapter.cpp b/Kernel/Net/E1000NetworkAdapter.cpp index 431e31d3d1..c6b8644432 100644 --- a/Kernel/Net/E1000NetworkAdapter.cpp +++ b/Kernel/Net/E1000NetworkAdapter.cpp @@ -457,7 +457,7 @@ void E1000NetworkAdapter::send_raw(ReadonlyBytes payload) sti(); break; } - m_wait_queue.wait_on(nullptr, "E1000NetworkAdapter"); + m_wait_queue.wait_on({}, "E1000NetworkAdapter"); } #ifdef E1000_DEBUG dbgln("E1000: Sent packet, status is now {:#02x}!", (u8)descriptor.status); diff --git a/Kernel/Net/IPv4Socket.cpp b/Kernel/Net/IPv4Socket.cpp index f8c6a3ac2b..2454a2f6df 100644 --- a/Kernel/Net/IPv4Socket.cpp +++ b/Kernel/Net/IPv4Socket.cpp @@ -255,7 +255,7 @@ KResultOr<size_t> IPv4Socket::receive_byte_buffered(FileDescription& description locker.unlock(); auto unblocked_flags = Thread::FileDescriptionBlocker::BlockFlags::None; - auto res = Thread::current()->block<Thread::ReadBlocker>(nullptr, description, unblocked_flags); + auto res = Thread::current()->block<Thread::ReadBlocker>({}, description, unblocked_flags); locker.lock(); if (!((u32)unblocked_flags & (u32)Thread::FileDescriptionBlocker::BlockFlags::Read)) { @@ -306,7 +306,7 @@ KResultOr<size_t> IPv4Socket::receive_packet_buffered(FileDescription& descripti locker.unlock(); auto unblocked_flags = Thread::FileDescriptionBlocker::BlockFlags::None; - auto res = Thread::current()->block<Thread::ReadBlocker>(nullptr, description, unblocked_flags); + auto res = Thread::current()->block<Thread::ReadBlocker>({}, description, unblocked_flags); locker.lock(); if (!((u32)unblocked_flags & (u32)Thread::FileDescriptionBlocker::BlockFlags::Read)) { diff --git a/Kernel/Net/LocalSocket.cpp b/Kernel/Net/LocalSocket.cpp index bb15c43d4f..3ffc370877 100644 --- a/Kernel/Net/LocalSocket.cpp +++ b/Kernel/Net/LocalSocket.cpp @@ -192,7 +192,7 @@ KResult LocalSocket::connect(FileDescription& description, Userspace<const socka } auto unblock_flags = Thread::FileDescriptionBlocker::BlockFlags::None; - if (Thread::current()->block<Thread::ConnectBlocker>(nullptr, description, unblock_flags).was_interrupted()) { + if (Thread::current()->block<Thread::ConnectBlocker>({}, description, unblock_flags).was_interrupted()) { set_connect_side_role(Role::None); return KResult(-EINTR); } @@ -329,7 +329,7 @@ KResultOr<size_t> LocalSocket::recvfrom(FileDescription& description, UserOrKern } } else if (!can_read(description, 0)) { auto unblock_flags = Thread::FileDescriptionBlocker::BlockFlags::None; - if (Thread::current()->block<Thread::ReadBlocker>(nullptr, description, unblock_flags).was_interrupted()) + if (Thread::current()->block<Thread::ReadBlocker>({}, description, unblock_flags).was_interrupted()) return KResult(-EINTR); } if (!has_attached_peer(description) && socket_buffer->is_empty()) diff --git a/Kernel/Net/NetworkTask.cpp b/Kernel/Net/NetworkTask.cpp index 18318e90f9..0951f6d0c9 100644 --- a/Kernel/Net/NetworkTask.cpp +++ b/Kernel/Net/NetworkTask.cpp @@ -114,7 +114,7 @@ void NetworkTask_main(void*) for (;;) { size_t packet_size = dequeue_packet(buffer, buffer_size, packet_timestamp); if (!packet_size) { - packet_wait_queue.wait_on(nullptr, "NetworkTask"); + packet_wait_queue.wait_on({}, "NetworkTask"); continue; } if (packet_size < sizeof(EthernetFrameHeader)) { diff --git a/Kernel/Net/Routing.cpp b/Kernel/Net/Routing.cpp index 48330b6697..f9547b247f 100644 --- a/Kernel/Net/Routing.cpp +++ b/Kernel/Net/Routing.cpp @@ -230,7 +230,7 @@ RoutingDecision route_to(const IPv4Address& target, const IPv4Address& source, c adapter->send({ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, request); Optional<MACAddress> addr; - if (!Thread::current()->block<ARPTableBlocker>(nullptr, next_hop_ip, addr).was_interrupted()) { + if (!Thread::current()->block<ARPTableBlocker>({}, next_hop_ip, addr).was_interrupted()) { if (addr.has_value()) { #ifdef ROUTING_DEBUG klog() << "Routing: Got ARP response using adapter " << adapter->name().characters() << " for " << next_hop_ip.to_string().characters() << " (" << addr.value().to_string().characters() << ")"; diff --git a/Kernel/Net/TCPSocket.cpp b/Kernel/Net/TCPSocket.cpp index 5bb4aefaac..638602b8e6 100644 --- a/Kernel/Net/TCPSocket.cpp +++ b/Kernel/Net/TCPSocket.cpp @@ -400,7 +400,7 @@ KResult TCPSocket::protocol_connect(FileDescription& description, ShouldBlock sh if (should_block == ShouldBlock::Yes) { locker.unlock(); auto unblock_flags = Thread::FileBlocker::BlockFlags::None; - if (Thread::current()->block<Thread::ConnectBlocker>(nullptr, description, unblock_flags).was_interrupted()) + if (Thread::current()->block<Thread::ConnectBlocker>({}, description, unblock_flags).was_interrupted()) return KResult(-EINTR); locker.lock(); ASSERT(setup_state() == SetupState::Completed); |