summaryrefslogtreecommitdiffstats
path: root/testing/vlc/uclibc-inhibit-spawn.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/vlc/uclibc-inhibit-spawn.patch')
-rw-r--r--testing/vlc/uclibc-inhibit-spawn.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/vlc/uclibc-inhibit-spawn.patch b/testing/vlc/uclibc-inhibit-spawn.patch
new file mode 100644
index 000000000..9a6be5bd6
--- /dev/null
+++ b/testing/vlc/uclibc-inhibit-spawn.patch
@@ -0,0 +1,35 @@
+diff --git a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c
+index 01decac..134c5c9 100644
+--- a/modules/misc/inhibit/xdg.c
++++ b/modules/misc/inhibit/xdg.c
+@@ -25,7 +25,12 @@
+ #include <vlc_common.h>
+ #include <vlc_plugin.h>
+ #include <vlc_inhibit.h>
+-#include <spawn.h>
++#if !defined(_POSIX_SPAWN)
++# define _POSIX_SPAWN -1
++#else
++# include <spawn.h>
++#endif
++
+ #include <sys/wait.h>
+
+ static int Open (vlc_object_t *);
+@@ -125,8 +130,15 @@ static void *Thread (void *data)
+ };
+ pid_t pid;
+ int canc = vlc_savecancel ();
+-
++#if (_POSIX_SPAWN >= 0)
+ if (!posix_spawnp (&pid, "xdg-screensaver", NULL, NULL, argv, environ))
++#else
++ pid = fork();
++ if (pid == 0) {
++ execvp("xdg-screensaver", argv);
++ exit(1);
++ } else if (pid > 0)
++#endif
+ {
+ int status;
+