summaryrefslogtreecommitdiff
path: root/multimedia/vlc/patches/patch-as
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/vlc/patches/patch-as')
-rw-r--r--multimedia/vlc/patches/patch-as110
1 files changed, 0 insertions, 110 deletions
diff --git a/multimedia/vlc/patches/patch-as b/multimedia/vlc/patches/patch-as
deleted file mode 100644
index d5c7feb56f1..00000000000
--- a/multimedia/vlc/patches/patch-as
+++ /dev/null
@@ -1,110 +0,0 @@
-$NetBSD: patch-as,v 1.1 2011/01/24 18:54:04 drochner Exp $
-
---- modules/misc/inhibit/xscreensaver.c~ 2010-04-13 09:22:27.000000000 +0900
-+++ modules/misc/inhibit/xscreensaver.c 2011-01-08 23:03:09.000000000 +0900
-@@ -39,7 +39,9 @@
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <signal.h>
-+#ifdef _POSIX_SPAWN
- #include <spawn.h>
-+#endif
-
- /*****************************************************************************
- * Local prototypes
-@@ -53,12 +55,16 @@
- struct vlc_inhibit_sys
- {
- vlc_timer_t timer;
-+#ifdef _POSIX_SPAWN
- posix_spawn_file_actions_t actions;
- posix_spawnattr_t attr;
- int nullfd;
-+#endif
- };
-
-+#ifdef _POSIX_SPAWN
- extern char **environ;
-+#endif
-
- /*****************************************************************************
- * Module descriptor
-@@ -88,6 +94,7 @@
- }
- p_ih->inhibit = Inhibit;
-
-+#ifdef _POSIX_SPAWN
- int fd = vlc_open ("/dev/null", O_WRONLY);
- posix_spawn_file_actions_init (&p_sys->actions);
- if (fd != -1)
-@@ -103,6 +110,7 @@
- sigemptyset (&set);
- posix_spawnattr_setsigmask (&p_sys->attr, &set);
-
-+#endif
- return VLC_SUCCESS;
- }
-
-@@ -115,10 +123,12 @@
- vlc_inhibit_sys_t *p_sys = p_ih->p_sys;
-
- vlc_timer_destroy( p_sys->timer );
-+#ifdef _POSIX_SPAWN
- if (p_sys->nullfd != -1)
- close (p_sys->nullfd);
- posix_spawnattr_destroy (&p_sys->attr);
- posix_spawn_file_actions_destroy (&p_sys->actions);
-+#endif
- free( p_sys );
- }
-
-@@ -131,15 +141,49 @@
- /*****************************************************************************
- * Execute: Spawns a process using execv()
- *****************************************************************************/
-+#ifdef _POSIX_SPAWN
- static void Execute (vlc_inhibit_t *p_ih, const char *const *argv)
-+# else
-+static void Execute (vlc_inhibit_t *p_ih, const char *const *ppsz_args)
-+#endif
- {
-+#ifdef _POSIX_SPAWN
- vlc_inhibit_sys_t *p_sys = p_ih->p_sys;
- pid_t pid;
-
- if (posix_spawnp (&pid, argv[0], &p_sys->actions, &p_sys->attr,
- (char **)argv, environ) == 0)
-+#else
-+ pid_t pid = fork();
-+ switch ( pid )
-+#endif
- {
-+#ifdef _POSIX_SPAWN
- while (waitpid (pid, NULL, 0) != pid);
-+#else
-+ case 0: /* we're the child */
-+ {
-+ sigset_t set;
-+ sigemptyset (&set);
-+ pthread_sigmask (SIG_SETMASK, &set, NULL);
-+
-+ /* We don't want output */
-+ if( ( freopen( "/dev/null", "w", stdout ) != NULL )
-+ && ( freopen( "/dev/null", "w", stderr ) != NULL ) )
-+ execv( ppsz_args[0] , (char *const *)ppsz_args );
-+ /* If the file we want to execute doesn't exist we exit() */
-+ exit( EXIT_FAILURE );
-+ }
-+ case -1: /* we're the error */
-+ msg_Dbg( p_ih, "Couldn't fork() while launching %s",
-+ ppsz_args[0] );
-+ break;
-+ default: /* we're the parent */
-+ /* Wait for the child to exit.
-+ * We will not deadlock because we ran "/bin/sh &" */
-+ while( waitpid( pid, NULL, 0 ) != pid);
-+ break;
-+#endif
- }
- }
-