flatpak: detach process tracking thread after spawn

This makes sure the underlying thread implementation know to free
resources the moment the thread is no longer necessary, preventing leaks
from not manually collecting the thread.
pull/7542/head
Leorize 2025-06-07 12:44:21 -05:00
parent 1c7623db81
commit 42bafe9d59
No known key found for this signature in database
GPG Key ID: F27DAB17D7AD45CE
1 changed files with 2 additions and 0 deletions

View File

@ -112,6 +112,8 @@ pub const FlatpakHostCommand = struct {
pub fn spawn(self: *FlatpakHostCommand, alloc: Allocator) !u32 { pub fn spawn(self: *FlatpakHostCommand, alloc: Allocator) !u32 {
const thread = try std.Thread.spawn(.{}, threadMain, .{ self, alloc }); const thread = try std.Thread.spawn(.{}, threadMain, .{ self, alloc });
thread.setName("flatpak-host-command") catch {}; thread.setName("flatpak-host-command") catch {};
// We don't track this thread, it will terminate on its own on command exit
thread.detach();
// Wait for the process to start or error. // Wait for the process to start or error.
self.state_mutex.lock(); self.state_mutex.lock();