diff options
author | mycroft <mycroft@pkgsrc.org> | 2003-10-03 17:49:27 +0000 |
---|---|---|
committer | mycroft <mycroft@pkgsrc.org> | 2003-10-03 17:49:27 +0000 |
commit | 2bb6ccedd20cd067b263a1f8187ac2274eb6c3b4 (patch) | |
tree | d99759f711ccab3ca9772b5b975dfaec0abf5d23 | |
parent | 808443fbe13d8bfdac1632d12c1e2d8d15404cec (diff) | |
download | pkgsrc-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/distinfo | 4 | ||||
-rw-r--r-- | graphics/xine-lib/patches/patch-al | 18 |
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; } |