aboutsummaryrefslogtreecommitdiff
path: root/deskutils/easystroke
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2020-04-15 11:13:42 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2020-04-15 11:13:42 +0000
commit1db7e19deab5a5059d33a27111c08b4ef5f377e7 (patch)
treeaf2aca59cc54e4494bf77fae70cb0495fb7470c6 /deskutils/easystroke
parent5ab98672c1a25d87a2b6dfec8fdbe5b138596e86 (diff)
downloadports-1db7e19deab5a5059d33a27111c08b4ef5f377e7.tar.gz
ports-1db7e19deab5a5059d33a27111c08b4ef5f377e7.zip
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
Notes
Notes: svn path=/head/; revision=531758
Diffstat (limited to 'deskutils/easystroke')
-rw-r--r--deskutils/easystroke/Makefile2
-rw-r--r--deskutils/easystroke/files/patch-actiondb.cc20
2 files changed, 21 insertions, 1 deletions
diff --git a/deskutils/easystroke/Makefile b/deskutils/easystroke/Makefile
index 48bd8a0bc7c6..94b12d314cdd 100644
--- a/deskutils/easystroke/Makefile
+++ b/deskutils/easystroke/Makefile
@@ -3,7 +3,7 @@
PORTNAME= easystroke
PORTVERSION= 0.6.0
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= deskutils
MASTER_SITES= SF
diff --git a/deskutils/easystroke/files/patch-actiondb.cc b/deskutils/easystroke/files/patch-actiondb.cc
new file mode 100644
index 000000000000..cfbdf2ee92a4
--- /dev/null
+++ b/deskutils/easystroke/files/patch-actiondb.cc
@@ -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 {