aboutsummaryrefslogtreecommitdiff
path: root/graphics/xv
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2010-02-11 14:45:23 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2010-02-11 14:45:23 +0000
commit0a85f41bf0cce06f9ced3ad18ab3aab207664120 (patch)
tree16593847d6ee4e5d6b8ded05a9ea26cead83918f /graphics/xv
parenta8ae7c61aa2c93cbfcd4f4fa4af35f881c5f56ea (diff)
downloadports-0a85f41bf0cce06f9ced3ad18ab3aab207664120.tar.gz
ports-0a85f41bf0cce06f9ced3ad18ab3aab207664120.zip
- add workaround for a deadlock in libxcb
PR: 143043
Notes
Notes: svn path=/head/; revision=249578
Diffstat (limited to 'graphics/xv')
-rw-r--r--graphics/xv/Makefile2
-rw-r--r--graphics/xv/files/patch-xvmisc.c19
-rw-r--r--graphics/xv/files/patch-xvvd.c20
3 files changed, 40 insertions, 1 deletions
diff --git a/graphics/xv/Makefile b/graphics/xv/Makefile
index 3fb45c1744e8..f5504db479c1 100644
--- a/graphics/xv/Makefile
+++ b/graphics/xv/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xv
PORTVERSION= 3.10a
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES+= graphics
MASTER_SITES= ftp://ftp.cis.upenn.edu/pub/xv/:base \
SF/png-mng/XV%20jumbo%20patches/20070520
diff --git a/graphics/xv/files/patch-xvmisc.c b/graphics/xv/files/patch-xvmisc.c
new file mode 100644
index 000000000000..38cf152e6c68
--- /dev/null
+++ b/graphics/xv/files/patch-xvmisc.c
@@ -0,0 +1,19 @@
+--- xvmisc.c.orig 2010-02-11 14:29:41.000000000 +0100
++++ xvmisc.c 2010-02-11 15:25:03.000000000 +0100
+@@ -504,6 +504,7 @@
+ }
+
+
++extern int InSignal;
+ /***********************************/
+ void Quit(i)
+ int i;
+@@ -601,7 +619,8 @@
+ }
+ }
+
++ if (InSignal == 0)
+ XSync(theDisp, False);
+ exit(i);
+ }
+
diff --git a/graphics/xv/files/patch-xvvd.c b/graphics/xv/files/patch-xvvd.c
new file mode 100644
index 000000000000..a3ec3b0d0b40
--- /dev/null
+++ b/graphics/xv/files/patch-xvvd.c
@@ -0,0 +1,20 @@
+--- xvvd.c.orig 2007-04-16 06:30:19.000000000 +0200
++++ xvvd.c 2010-02-11 15:23:41.000000000 +0100
+@@ -1060,6 +1060,8 @@
+ #endif
+ }
+
++int InSignal = 0;
++
+ void vd_handler(sig)
+ int sig;
+ {
+@@ -1068,7 +1070,7 @@
+ #else
+ sigblock(sigmask(sig));
+ #endif
+-
++ InSignal = 1;
+ Quit(1); /*exit(1);*/
+ }
+