summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormycroft <mycroft@pkgsrc.org>2003-10-03 17:49:27 +0000
committermycroft <mycroft@pkgsrc.org>2003-10-03 17:49:27 +0000
commit2bb6ccedd20cd067b263a1f8187ac2274eb6c3b4 (patch)
treed99759f711ccab3ca9772b5b975dfaec0abf5d23
parent808443fbe13d8bfdac1632d12c1e2d8d15404cec (diff)
downloadpkgsrc-2bb6ccedd20cd067b263a1f8187ac2274eb6c3b4.tar.gz
Adjust the CRITICAL_SECTION locking protocol slightly -- only increase
cs->locked *after* acquiring the lock, so that we can count recursive locks and unlock at the right time. Doesn't seem to affect any codecs I've tested, but you never know...
-rw-r--r--graphics/xine-lib/distinfo4
-rw-r--r--graphics/xine-lib/patches/patch-al18
2 files changed, 12 insertions, 10 deletions
diff --git a/graphics/xine-lib/distinfo b/graphics/xine-lib/distinfo
index 89eb15a3266..47b20620e61 100644
--- a/graphics/xine-lib/distinfo
+++ b/graphics/xine-lib/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.9 2003/10/02 14:20:35 mycroft Exp $
+$NetBSD: distinfo,v 1.10 2003/10/03 17:49:27 mycroft Exp $
SHA1 (xine-lib-1-rc0a.tar.gz) = ee41ba602179a9f02208a15e3dff36a1dfa00fac
Size (xine-lib-1-rc0a.tar.gz) = 4211552 bytes
@@ -12,7 +12,7 @@ SHA1 (patch-ah) = 3f9b23c4a7994259056b73209a9e194db759f06d
SHA1 (patch-ai) = f71e3cb57bf30cbf9653a469c040b6e3f717ba97
SHA1 (patch-aj) = 54cf69b028d46327d46b5cc2a0ec457bd4a59b67
SHA1 (patch-ak) = 5e791e17755e0b7515d81f80790d529992e827d6
-SHA1 (patch-al) = 4e995a84efcb8ae17a803f8f1cc6118506be09b0
+SHA1 (patch-al) = af557ce4fd64e11f84947e067f445e59628c6f99
SHA1 (patch-am) = 0441dcd9faf0c0e7f07c8d0fc7a61fcce435af76
SHA1 (patch-an) = 4877ff4f905c2b62c37c0d4bbb51510d8a043344
SHA1 (patch-ao) = 53de6febfed214e9e43d53e3e5b83af1fcb19b20
diff --git a/graphics/xine-lib/patches/patch-al b/graphics/xine-lib/patches/patch-al
index f628a3ba073..6be99a26bd1 100644
--- a/graphics/xine-lib/patches/patch-al
+++ b/graphics/xine-lib/patches/patch-al
@@ -1,8 +1,8 @@
-$NetBSD: patch-al,v 1.1 2003/10/02 12:31:30 mycroft Exp $
+$NetBSD: patch-al,v 1.2 2003/10/03 17:49:27 mycroft Exp $
--- src/libw32dll/wine/win32.c.orig 2003-10-02 12:25:52.000000000 +0000
+++ src/libw32dll/wine/win32.c 2003-10-02 12:21:50.000000000 +0000
-@@ -440,9 +442,8 @@
+@@ -440,9 +440,8 @@
alccnt--;
@@ -14,20 +14,22 @@ $NetBSD: patch-al,v 1.1 2003/10/02 12:31:30 mycroft Exp $
pthread_mutex_destroy(&memmut);
//if (alccnt < 40000) printf("MY_RELEASE: %p\t%ld (%d)\n", header, header->size, alccnt);
-@@ -1349,11 +1350,10 @@
- #endif
+@@ -1350,10 +1349,12 @@
printf("wine/win32: Win32 Warning: Accessed uninitialized Critical Section (%p)!\n", c);
}
-- if(cs->locked)
-+ if(cs->locked++)
- if(cs->id==pthread_self())
+ if(cs->locked)
+- if(cs->id==pthread_self())
++ if(cs->id==pthread_self()) {
++ cs->locked++;
return;
++ }
pthread_mutex_lock(&(cs->mutex));
- cs->locked=1;
++ cs->locked++; /* should always be 1 */
cs->id=pthread_self();
return;
}
-@@ -1371,8 +1371,8 @@
+@@ -1371,8 +1372,8 @@
printf("Win32 Warning: Leaving uninitialized Critical Section %p!!\n", c);
return;
}