From ccf303eefc5e9a7e0f06ea0ab3711d72375751e9 Mon Sep 17 00:00:00 2001 From: stasoid Date: Sat, 17 May 2025 18:18:57 +0500 Subject: [PATCH] LibIPC: Move AutoCloseFileDescriptor to its own header --- Libraries/LibIPC/AutoCloseFileDescriptor.h | 40 ++++++++++++++++++++++ Libraries/LibIPC/Message.h | 1 + Libraries/LibIPC/TransportSocket.cpp | 11 ------ Libraries/LibIPC/TransportSocket.h | 19 +--------- 4 files changed, 42 insertions(+), 29 deletions(-) create mode 100644 Libraries/LibIPC/AutoCloseFileDescriptor.h diff --git a/Libraries/LibIPC/AutoCloseFileDescriptor.h b/Libraries/LibIPC/AutoCloseFileDescriptor.h new file mode 100644 index 00000000000..6a2a34820dc --- /dev/null +++ b/Libraries/LibIPC/AutoCloseFileDescriptor.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2025, the Ladybird developers. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include +#include + +namespace IPC { + +class AutoCloseFileDescriptor : public RefCounted { +public: + AutoCloseFileDescriptor(int fd) + : m_fd(fd) + { + } + + ~AutoCloseFileDescriptor() + { + if (m_fd != -1) + (void)Core::System::close(m_fd); + } + + int value() const { return m_fd; } + + int take_fd() + { + int fd = m_fd; + m_fd = -1; + return fd; + } + +private: + int m_fd; +}; + +} diff --git a/Libraries/LibIPC/Message.h b/Libraries/LibIPC/Message.h index e79638618ed..c0cc534219e 100644 --- a/Libraries/LibIPC/Message.h +++ b/Libraries/LibIPC/Message.h @@ -9,6 +9,7 @@ #include #include +#include #include namespace IPC { diff --git a/Libraries/LibIPC/TransportSocket.cpp b/Libraries/LibIPC/TransportSocket.cpp index 0fb037c7cfd..3456cc63c75 100644 --- a/Libraries/LibIPC/TransportSocket.cpp +++ b/Libraries/LibIPC/TransportSocket.cpp @@ -12,17 +12,6 @@ namespace IPC { -AutoCloseFileDescriptor::AutoCloseFileDescriptor(int fd) - : m_fd(fd) -{ -} - -AutoCloseFileDescriptor::~AutoCloseFileDescriptor() -{ - if (m_fd != -1) - (void)Core::System::close(m_fd); -} - void SendQueue::enqueue_message(Vector&& bytes, Vector&& fds) { Threading::MutexLocker locker(m_mutex); diff --git a/Libraries/LibIPC/TransportSocket.h b/Libraries/LibIPC/TransportSocket.h index 74727235e73..6d18f8e52e5 100644 --- a/Libraries/LibIPC/TransportSocket.h +++ b/Libraries/LibIPC/TransportSocket.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -18,24 +19,6 @@ namespace IPC { -class AutoCloseFileDescriptor : public RefCounted { -public: - AutoCloseFileDescriptor(int fd); - ~AutoCloseFileDescriptor(); - - int value() const { return m_fd; } - - int take_fd() - { - int fd = m_fd; - m_fd = -1; - return fd; - } - -private: - int m_fd; -}; - class SendQueue : public AtomicRefCounted { public: enum class Running {