Skip to content

Conversation

@phyber
Copy link

@phyber phyber commented Jan 28, 2026

This PR fixes a problem where the plugin was leaving behind zombie sh processes after each button push as we weren't .wait()ing on the returned Child.

We now fork and detach child processes to avoid zombie sh processes gathering under the oadesktopentry process.

This was tested by launching a variety of desktop apps, including both long running (terminals) and briefly running (opening links in an existing Firefox) processes.

This change introduces the fork crate as a dependency.

@phyber phyber marked this pull request as draft January 28, 2026 18:38
@phyber
Copy link
Author

phyber commented Jan 28, 2026

Converted to draft to test this some more with more and varied application launches.

This helps with an issue where previously we did not wait for Child
processes, and `oadesktopentry` could end up with many zombie `sh`
processes under it, which would persist until `opendeck` was restarted.
@phyber phyber force-pushed the 20260128-fix_child_zombies branch from f877a28 to 14a6856 Compare January 29, 2026 13:29
@phyber phyber changed the title fix: Properly reap Child processes as to not leave zombies fix: Fork and detach child processes Jan 29, 2026
@phyber phyber marked this pull request as ready for review January 29, 2026 13:33
@phyber
Copy link
Author

phyber commented Jan 29, 2026

Realised that the license of fork is BSD-3-Clause and that the dependency may need to be switched for a crate with a license more compatible with others in use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant