summaryrefslogtreecommitdiff
path: root/multimedia/gxine
diff options
context:
space:
mode:
authorjoerg <joerg>2006-08-01 14:56:06 +0000
committerjoerg <joerg>2006-08-01 14:56:06 +0000
commitc8526e8574aa089768eb4f9792cf9732dc2bb683 (patch)
tree3d64a828f4ec85241fae2fab08a05c8ea111c125 /multimedia/gxine
parenta7af7da00ddc6eb97a3b4e5d91b9f7cb8af87839 (diff)
downloadpkgsrc-c8526e8574aa089768eb4f9792cf9732dc2bb683.tar.gz
Replace while (pthread_mutex_trylock) sched_yield() with a simple
pthread_mutex_lock. This avoids xine taking 100% CPU load on DragonFly. Issue reported on DragoFly mailing list and pointed out by YONETANI Tomokazu. Bump revision.
Diffstat (limited to 'multimedia/gxine')
-rw-r--r--multimedia/gxine/Makefile3
-rw-r--r--multimedia/gxine/distinfo4
-rw-r--r--multimedia/gxine/patches/patch-al16
3 files changed, 17 insertions, 6 deletions
diff --git a/multimedia/gxine/Makefile b/multimedia/gxine/Makefile
index 3ebc87c6eed..3b0a2755413 100644
--- a/multimedia/gxine/Makefile
+++ b/multimedia/gxine/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.25 2006/07/07 18:28:48 drochner Exp $
+# $NetBSD: Makefile,v 1.26 2006/08/01 14:56:06 joerg Exp $
DISTNAME= gxine-0.5.7
+PKGREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xine/}
EXTRACT_SUFX= .tar.bz2
diff --git a/multimedia/gxine/distinfo b/multimedia/gxine/distinfo
index fd037722626..0fd8c30cd74 100644
--- a/multimedia/gxine/distinfo
+++ b/multimedia/gxine/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2006/07/07 18:28:48 drochner Exp $
+$NetBSD: distinfo,v 1.16 2006/08/01 14:56:06 joerg Exp $
SHA1 (gxine-0.5.7.tar.bz2) = 806732097cffcfe23d24be0a1abc1640767e9b13
RMD160 (gxine-0.5.7.tar.bz2) = 063212e277426274169384dd3e104eed127bf914
@@ -13,7 +13,7 @@ SHA1 (patch-ah) = 201f42c4043cd2c1e5302d476713080554c02b86
SHA1 (patch-ai) = 46a40d08b77e10a3d96bdf61ac31e1f02eba65e8
SHA1 (patch-aj) = 0a9efacd2aa90855bf990944c058028af367c24d
SHA1 (patch-ak) = f13bc48f7c836405a0587e378cc7ec0de5a4710e
-SHA1 (patch-al) = f1b96dacdb11ea18d714162a1bd5e957aa74dfbb
+SHA1 (patch-al) = 56711d0d42cb6b6e42b8c9c11d2869bfd5ccbf62
SHA1 (patch-am) = 25e7e53bd56cd30cf06dd010f78ed0715767421a
SHA1 (patch-an) = e8fd4c81fad14e907aad2bffc3962c39322ac0e5
SHA1 (patch-ao) = 97e176786b0e910913ecea018b5948401f69c379
diff --git a/multimedia/gxine/patches/patch-al b/multimedia/gxine/patches/patch-al
index 66b2226a785..02e4e4cf5fa 100644
--- a/multimedia/gxine/patches/patch-al
+++ b/multimedia/gxine/patches/patch-al
@@ -1,6 +1,6 @@
-$NetBSD: patch-al,v 1.1 2006/05/03 12:47:47 drochner Exp $
+$NetBSD: patch-al,v 1.2 2006/08/01 14:56:06 joerg Exp $
---- src/engine.c.orig 2006-03-16 18:16:18.000000000 +0100
+--- src/engine.c.orig 2006-06-30 14:56:00.000000000 +0000
+++ src/engine.c
@@ -36,7 +36,7 @@
@@ -11,7 +11,17 @@ $NetBSD: patch-al,v 1.1 2006/05/03 12:47:47 drochner Exp $
gboolean initialised = FALSE;
-@@ -277,7 +277,12 @@ void engine_init (void)
+@@ -299,8 +299,7 @@ static gboolean js_queue_cb (GtkWidget *
+ while ((js = g_async_queue_try_pop (js_queue)))
+ {
+ /* spin; play_exec gets this & the GDK lock in reverse order */
+- while (pthread_mutex_trylock (&widgets_update_lock))
+- sched_yield ();
++ pthread_mutex_lock (&widgets_update_lock);
+ pthread_mutex_unlock (&widgets_update_lock); /* JS 'play()' needs it */
+ engine_exec_obj (js->cmd, js->obj, js->cb, js->cb_data, js->ecb, js->src);
+ free (js->cmd);
+@@ -412,7 +411,12 @@ void engine_init (void)
{
char *cfgfilename;
GtkWidget *w;