MFH: r531758

Import patch from upstream pull request to stop easystroke creating
zombie processes for each spawned process.

Obtained from:	https://github.com/thjaeger/easystroke/pull/6

Approved by:	portmgr (blanket: runtime fix)
This commit is contained in:
Guido Falsi 2020-04-15 14:55:03 +00:00
parent 31eb82bf11
commit 19267472d2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2020Q2/; revision=531769
2 changed files with 21 additions and 1 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= easystroke
PORTVERSION= 0.6.0
PORTREVISION= 21
PORTREVISION= 22
CATEGORIES= deskutils
MASTER_SITES= SF

View File

@ -0,0 +1,20 @@
--- actiondb.cc.orig 2013-03-27 15:52:38 UTC
+++ actiondb.cc
@@ -118,14 +118,9 @@ template<class Archive> void StrokeInfo::serialize(Arc
using namespace std;
void Command::run() {
- pid_t pid = fork();
- switch (pid) {
- case 0:
- execlp("/bin/sh", "sh", "-c", cmd.c_str(), NULL);
- exit(1);
- case -1:
- printf(_("Error: can't execute command \"%s\": fork() failed\n"), cmd.c_str());
- }
+ gchar* argv[] = {(gchar*) "/bin/sh", (gchar*) "-c", NULL, NULL};
+ argv[2] = (gchar *) cmd.c_str();
+ g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
}
ButtonInfo Button::get_button_info() const {