mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
LibCore: Remove unused KeepAsChild and disown mechanisms
Those went unused and did nothing on systems other than SerenityOS.
This commit is contained in:
parent
7a9dd46a39
commit
769bbe6021
Notes:
github-actions[bot]
2025-11-07 10:29:22 +00:00
Author: https://github.com/cqundefine
Commit: 769bbe6021
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6631
Reviewed-by: https://github.com/gmta ✅
4 changed files with 7 additions and 44 deletions
|
|
@ -63,26 +63,22 @@ struct ArgvList {
|
||||||
|
|
||||||
Process::Process(Process&& other)
|
Process::Process(Process&& other)
|
||||||
: m_pid(exchange(other.m_pid, 0))
|
: m_pid(exchange(other.m_pid, 0))
|
||||||
, m_should_disown(exchange(other.m_should_disown, false))
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Process& Process::operator=(Process&& other)
|
Process& Process::operator=(Process&& other)
|
||||||
{
|
{
|
||||||
m_pid = exchange(other.m_pid, 0);
|
m_pid = exchange(other.m_pid, 0);
|
||||||
m_should_disown = exchange(other.m_should_disown, false);
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
Process::~Process()
|
Process::~Process()
|
||||||
{
|
{
|
||||||
(void)disown();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Process Process::current()
|
Process Process::current()
|
||||||
{
|
{
|
||||||
auto p = Process { getpid() };
|
auto p = Process { getpid() };
|
||||||
p.m_should_disown = false;
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -134,20 +130,17 @@ ErrorOr<Process> Process::spawn(ProcessSpawnOptions const& options)
|
||||||
return Process { pid };
|
return Process { pid };
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<ByteString> arguments, KeepAsChild keep_as_child)
|
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<ByteString> arguments)
|
||||||
{
|
{
|
||||||
auto process = TRY(spawn({
|
auto process = TRY(spawn({
|
||||||
.executable = path,
|
.executable = path,
|
||||||
.arguments = Vector<ByteString> { arguments },
|
.arguments = Vector<ByteString> { arguments },
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if (keep_as_child == KeepAsChild::No)
|
|
||||||
TRY(process.disown());
|
|
||||||
|
|
||||||
return process;
|
return process;
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<StringView> arguments, KeepAsChild keep_as_child)
|
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<StringView> arguments)
|
||||||
{
|
{
|
||||||
Vector<ByteString> backing_strings;
|
Vector<ByteString> backing_strings;
|
||||||
backing_strings.ensure_capacity(arguments.size());
|
backing_strings.ensure_capacity(arguments.size());
|
||||||
|
|
@ -159,9 +152,6 @@ ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<StringView> argume
|
||||||
.arguments = backing_strings,
|
.arguments = backing_strings,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if (keep_as_child == KeepAsChild::No)
|
|
||||||
TRY(process.disown());
|
|
||||||
|
|
||||||
return process;
|
return process;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -293,21 +283,6 @@ pid_t Process::pid() const
|
||||||
return m_pid;
|
return m_pid;
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<void> Process::disown()
|
|
||||||
{
|
|
||||||
if (m_pid != 0 && m_should_disown) {
|
|
||||||
#ifdef AK_OS_SERENITY
|
|
||||||
TRY(System::disown(m_pid));
|
|
||||||
#else
|
|
||||||
// FIXME: Support disown outside Serenity.
|
|
||||||
#endif
|
|
||||||
m_should_disown = false;
|
|
||||||
return {};
|
|
||||||
} else {
|
|
||||||
return Error::from_errno(EINVAL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<int> Process::wait_for_termination()
|
ErrorOr<int> Process::wait_for_termination()
|
||||||
{
|
{
|
||||||
VERIFY(m_pid > 0);
|
VERIFY(m_pid > 0);
|
||||||
|
|
@ -328,7 +303,6 @@ ErrorOr<int> Process::wait_for_termination()
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_should_disown = false;
|
|
||||||
return exit_code;
|
return exit_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,11 +50,6 @@ class Process {
|
||||||
AK_MAKE_NONCOPYABLE(Process);
|
AK_MAKE_NONCOPYABLE(Process);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum class KeepAsChild {
|
|
||||||
Yes,
|
|
||||||
No
|
|
||||||
};
|
|
||||||
|
|
||||||
Process(Process&& other);
|
Process(Process&& other);
|
||||||
Process& operator=(Process&& other);
|
Process& operator=(Process&& other);
|
||||||
~Process();
|
~Process();
|
||||||
|
|
@ -62,8 +57,8 @@ public:
|
||||||
static ErrorOr<Process> spawn(ProcessSpawnOptions const& options);
|
static ErrorOr<Process> spawn(ProcessSpawnOptions const& options);
|
||||||
static Process current();
|
static Process current();
|
||||||
|
|
||||||
static ErrorOr<Process> spawn(StringView path, ReadonlySpan<ByteString> arguments, KeepAsChild keep_as_child = KeepAsChild::No);
|
static ErrorOr<Process> spawn(StringView path, ReadonlySpan<ByteString> arguments);
|
||||||
static ErrorOr<Process> spawn(StringView path, ReadonlySpan<StringView> arguments, KeepAsChild keep_as_child = KeepAsChild::No);
|
static ErrorOr<Process> spawn(StringView path, ReadonlySpan<StringView> arguments);
|
||||||
|
|
||||||
static ErrorOr<String> get_name();
|
static ErrorOr<String> get_name();
|
||||||
|
|
||||||
|
|
@ -72,22 +67,16 @@ public:
|
||||||
|
|
||||||
pid_t pid() const;
|
pid_t pid() const;
|
||||||
|
|
||||||
#ifndef AK_OS_WINDOWS
|
|
||||||
ErrorOr<void> disown();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ErrorOr<int> wait_for_termination();
|
ErrorOr<int> wait_for_termination();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#ifndef AK_OS_WINDOWS
|
#ifndef AK_OS_WINDOWS
|
||||||
Process(pid_t pid = -1)
|
Process(pid_t pid = -1)
|
||||||
: m_pid(pid)
|
: m_pid(pid)
|
||||||
, m_should_disown(true)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
pid_t m_pid;
|
pid_t m_pid;
|
||||||
bool m_should_disown;
|
|
||||||
#else
|
#else
|
||||||
Process(void* handle = 0)
|
Process(void* handle = 0)
|
||||||
: m_handle(handle)
|
: m_handle(handle)
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ ErrorOr<Process> Process::spawn(ProcessSpawnOptions const& options)
|
||||||
return Process(process_info.hProcess);
|
return Process(process_info.hProcess);
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<ByteString> arguments, KeepAsChild)
|
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<ByteString> arguments)
|
||||||
{
|
{
|
||||||
return spawn({
|
return spawn({
|
||||||
.executable = path,
|
.executable = path,
|
||||||
|
|
@ -85,7 +85,7 @@ ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<ByteString> argume
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<StringView> arguments, KeepAsChild)
|
ErrorOr<Process> Process::spawn(StringView path, ReadonlySpan<StringView> arguments)
|
||||||
{
|
{
|
||||||
Vector<ByteString> backing_strings;
|
Vector<ByteString> backing_strings;
|
||||||
backing_strings.ensure_capacity(arguments.size());
|
backing_strings.ensure_capacity(arguments.size());
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ static ErrorOr<Core::Process> launch_process(StringView application, ReadonlySpa
|
||||||
ErrorOr<Core::Process> result = Error::from_string_literal("All paths failed to launch");
|
ErrorOr<Core::Process> result = Error::from_string_literal("All paths failed to launch");
|
||||||
for (auto const& path : paths) {
|
for (auto const& path : paths) {
|
||||||
auto path_view = path.view();
|
auto path_view = path.view();
|
||||||
result = Core::Process::spawn(path_view, arguments, Core::Process::KeepAsChild::Yes);
|
result = Core::Process::spawn(path_view, arguments);
|
||||||
if (!result.is_error())
|
if (!result.is_error())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue