From c5461a8402d2c56f1e0c63da482b179e945b1242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Mon, 7 Oct 2013 14:25:50 +0300 Subject: main/vlc: fix some waitpid usage --- main/vlc/APKBUILD | 6 +++++- main/vlc/fix-waitpid-usage.patch | 42 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 main/vlc/fix-waitpid-usage.patch (limited to 'main/vlc') diff --git a/main/vlc/APKBUILD b/main/vlc/APKBUILD index 3ac15a9bde..20963f3af4 100644 --- a/main/vlc/APKBUILD +++ b/main/vlc/APKBUILD @@ -4,7 +4,7 @@ pkgname=vlc pkgver=2.1.0 _pkgver=${pkgver/_/-} _ver=${_pkgver%[a-z]} -pkgrel=1 +pkgrel=2 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" pkgusers="vlc" pkggroups="vlc" @@ -71,6 +71,7 @@ makedepends=" " source="http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz vlc.trigger + fix-waitpid-usage.patch uclibc-define-fminf.patch uclibc-fix-idn.patch" @@ -224,13 +225,16 @@ daemon() { md5sums="8c77bda671821f5b9ede96b6816e2ade vlc-2.1.0.tar.xz 350b30698eb784def7d19446eb1d6c81 vlc.trigger +8facb4e18f2c72afbaa94e2dee21bbf6 fix-waitpid-usage.patch 34bacc70c150bdbe19476d84a76f2849 uclibc-define-fminf.patch a57ecdeb28b93c2ac0ade2adff2da2b4 uclibc-fix-idn.patch" sha256sums="d2177daa31786acf1e961b2f63429797a8c62c090e5359bcc7929a1ba5fe41f7 vlc-2.1.0.tar.xz 0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a vlc.trigger +bf9ca2b2f1f4d29ee5e929227e2be0567048902bf8cd1bafdbec008a2768ab3a fix-waitpid-usage.patch b16801cca70c0f13830a27146025cc55b947897744d9da1ab713c5f5ce0460a0 uclibc-define-fminf.patch 8e15a1c29fed29eeafef4dd37c73cc0da578b40d9d94713ac12a69c101040901 uclibc-fix-idn.patch" sha512sums="abf397e1382289d579fec3dc540885c45ba055f158f7c248c5de27a7c50dac5a4c317145c4a786ed3819a9199fc304fa8f43ccde8c33c2938d40c805e7e9b124 vlc-2.1.0.tar.xz a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc vlc.trigger +ef239b6f0ff497c7e2b290044de1164a17aec9b72205158cbb6b309bee19e843953eb63092026390a3ff2dff7ba290151ec3e124b8a5b4ccc2ac8c2d4ce2ed8d fix-waitpid-usage.patch 0d9310afef1afbf15a19bcc8aa1835416830666d79a5461b45df900afde5b115ec7c18d4bc15d36efe45b912ebb51ceb91cc20ebd0be0ecc4ff3fd0e06dd4a55 uclibc-define-fminf.patch 24d7ae347a81e05aa2273c180ed76dfb0c8140ef1e4f877a88326fdf37acec0ac8bf1bde98845e40cd57c93fe6e5c186623a6f6f66ed6fe94386826260d88738 uclibc-fix-idn.patch" diff --git a/main/vlc/fix-waitpid-usage.patch b/main/vlc/fix-waitpid-usage.patch new file mode 100644 index 0000000000..5d19ddb1d6 --- /dev/null +++ b/main/vlc/fix-waitpid-usage.patch @@ -0,0 +1,42 @@ +--- vlc-2.1.0.orig/modules/misc/inhibit/xdg.c 2013-06-24 21:00:38.000000000 +0300 ++++ vlc-2.1.0/modules/misc/inhibit/xdg.c 2013-10-07 14:06:43.450029073 +0300 +@@ -66,7 +66,7 @@ + { + int status; + +- while (waitpid (pid, &status, 0) == -1); ++ while (waitpid (pid, &status, 0) == -1 && errno != ECHILD); + } + else + { +--- vlc-2.1.0.orig/modules/stream_filter/decomp.c 2013-09-12 18:18:33.000000000 +0300 ++++ vlc-2.1.0/modules/stream_filter/decomp.c 2013-10-07 14:07:58.616288530 +0300 +@@ -386,7 +386,7 @@ + return VLC_SUCCESS; + + if (p_sys->pid != -1) +- while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1); ++ while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1 && errno != ECHILD); + vlc_mutex_destroy (&p_sys->lock); + vlc_cond_destroy (&p_sys->wait); + free (p_sys); +@@ -411,7 +411,7 @@ + close (p_sys->write_fd); + + msg_Dbg (obj, "waiting for PID %u", (unsigned)p_sys->pid); +- while (waitpid (p_sys->pid, &status, 0) == -1); ++ while (waitpid (p_sys->pid, &status, 0) == -1 && errno != ECHILD); + msg_Dbg (obj, "exit status %d", status); + + if (p_sys->peeked) +--- vlc-2.1.0.orig/src/posix/netconf.c 2013-06-24 21:00:39.000000000 +0300 ++++ vlc-2.1.0/src/posix/netconf.c 2013-10-07 14:05:49.603654117 +0300 +@@ -93,7 +93,7 @@ + while (len < sizeof (buf)); + + close(fd[0]); +- while (waitpid(pid, &(int){ 0 }, 0) == -1); ++ while (waitpid(pid, &(int){ 0 }, 0) == -1 && errno != ECHILD); + + if (len >= 9 && !strncasecmp(buf, "direct://", 9)) + return NULL; -- cgit v1.2.3