diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-10-28 11:27:40 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-10-28 12:36:38 +0000 |
commit | 0ad456491baa146c16f7c9a95cb93a61ecca3a42 (patch) | |
tree | 1d5d86679de5fe3d22ca2dbf12f5ce2b1289f97c /main/vlc/uclibc-inhibit-spawn.patch | |
parent | af12de3d1115a7693edcf96b7197545819478bf0 (diff) | |
download | aports-0ad456491baa146c16f7c9a95cb93a61ecca3a42.tar.bz2 aports-0ad456491baa146c16f7c9a95cb93a61ecca3a42.tar.xz |
main/vlc: upgrade to 1.1.12
Diffstat (limited to 'main/vlc/uclibc-inhibit-spawn.patch')
-rw-r--r-- | main/vlc/uclibc-inhibit-spawn.patch | 55 |
1 files changed, 50 insertions, 5 deletions
diff --git a/main/vlc/uclibc-inhibit-spawn.patch b/main/vlc/uclibc-inhibit-spawn.patch index 1fe27fbab2..75cff1bb6b 100644 --- a/main/vlc/uclibc-inhibit-spawn.patch +++ b/main/vlc/uclibc-inhibit-spawn.patch @@ -1,6 +1,8 @@ ---- a/modules/misc/inhibit/xdg.c.orig +diff --git a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c +index cfb3b2a..16a2ce9 100644 +--- a/modules/misc/inhibit/xdg.c +++ b/modules/misc/inhibit/xdg.c -@@ -26,7 +26,12 @@ +@@ -26,7 +26,11 @@ #include <vlc_plugin.h> #include <vlc_inhibit.h> #include <assert.h> @@ -10,16 +12,59 @@ +#else +# include <spawn.h> +#endif -+ #include <sys/wait.h> static int Open (vlc_object_t *); -@@ -137,7 +142,15 @@ +@@ -46,7 +50,9 @@ struct vlc_inhibit_sys + vlc_thread_t thread; + vlc_cond_t update, inactive; + vlc_mutex_t lock; ++#if (_POSIX_SPAWN >= 0) + posix_spawnattr_t attr; ++#endif + bool suspend, suspended; + }; + +@@ -66,17 +72,21 @@ static int Open (vlc_object_t *obj) + vlc_mutex_init (&p_sys->lock); + vlc_cond_init (&p_sys->update); + vlc_cond_init (&p_sys->inactive); ++#if (_POSIX_SPAWN >= 0) + posix_spawnattr_init (&p_sys->attr); ++#endif + /* Reset signal handlers to default and clear mask in the child process */ + { + sigset_t set; + + sigemptyset (&set); +- posix_spawnattr_setsigmask (&p_sys->attr, &set); + sigaddset (&set, SIGPIPE); ++#if (_POSIX_SPAWN >= 0) ++ posix_spawnattr_setsigmask (&p_sys->attr, &set); + posix_spawnattr_setsigdefault (&p_sys->attr, &set); + posix_spawnattr_setflags (&p_sys->attr, POSIX_SPAWN_SETSIGDEF + | POSIX_SPAWN_SETSIGMASK); ++#endif + } + p_sys->suspend = false; + p_sys->suspended = false; +@@ -105,7 +115,9 @@ static void Close (vlc_object_t *obj) + + vlc_cancel (p_sys->thread); + vlc_join (p_sys->thread, NULL); ++#if (_POSIX_SPAWN >= 0) + posix_spawnattr_destroy (&p_sys->attr); ++#endif + vlc_cond_destroy (&p_sys->inactive); + vlc_cond_destroy (&p_sys->update); + vlc_mutex_destroy (&p_sys->lock); +@@ -152,8 +164,16 @@ static void *Thread (void *data) pid_t pid; vlc_mutex_unlock (&p_sys->lock); +#if (_POSIX_SPAWN >= 0) - if (!posix_spawnp (&pid, "xdg-screensaver", NULL, NULL, argv, environ)) + if (!posix_spawnp (&pid, "xdg-screensaver", NULL, &p_sys->attr, + argv, environ)) +#else + pid = fork(); + if (pid == 0) { |