<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>214697</bug_id>
          
          <creation_ts>2008-03-25 14:28 0000</creation_ts>
          <short_desc>games-emulation/zsnes-1.51-r1 problem with libao/alsa</short_desc>
          <delta_ts>2008-05-09 19:15:11 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Games</component>
          <version>2006.1</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jlhamm@acm.org</reporter>
          <assigned_to>drizzt@gentoo.org</assigned_to>
          <cc>games@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>jlhamm@acm.org</who>
            <bug_when>2008-03-25 14:28:27 0000</bug_when>
            <thetext>For libao to work properly the audio thread has to be created *after* the mutex and condition is created otherwise the sound thread has a chance to deadlock (as it was wont to do on my machine before I applied this patch :).

I can&apos;t take credit for this fix as it was posted on one of the zsnes dev sites. As such, it&apos;s probably already upstream. But in lieu of an upstream version bump any time soon, I think this patch should be rolled in here as -r2.

Patch below comes from http://board.zsnes.com/phpBB2/viewtopic.php?p=157699&amp;sid=4ead2f9a94c153be8e85916ad6ac2f8b

--------------------------------------------------------------------------

diff -ur zsnes-1.510/src/linux/audio.c zsnes-1.510-new/src/linux/audio.c 
--- zsnes-1.510/src/linux/audio.c   2007-01-09 20:19:12.000000000 -0500 
+++ zsnes-1.510-new/src/linux/audio.c   2007-12-30 20:33:07.000000000 -0500 
@@ -177,11 +177,7 @@ 
   } 
   else 
   { 
-    if (pthread_create(&amp;audio_thread, 0, SoundThread_ao, 0)) 
-    { 
-      puts(&quot;pthread_create() failed.&quot;); 
-    } 
-    else if (pthread_mutex_init(&amp;audio_mutex, 0)) 
+    if (pthread_mutex_init(&amp;audio_mutex, 0)) 
     { 
       puts(&quot;pthread_mutex_init() failed.&quot;); 
     } 
@@ -189,6 +185,10 @@ 
     { 
       puts(&quot;pthread_cond_init() failed.&quot;); 
     } 
+    else if (pthread_create(&amp;audio_thread, 0, SoundThread_ao, 0)) 
+    { 
+      puts(&quot;pthread_create() failed.&quot;); 
+    } 
     InitSampleControl(); 
   }</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jlhamm@acm.org</who>
            <bug_when>2008-04-02 12:55:50 0000</bug_when>
            <thetext>Created an attachment (id=148077)
Tested ebuild with new patch included

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jlhamm@acm.org</who>
            <bug_when>2008-04-02 12:57:08 0000</bug_when>
            <thetext>Created an attachment (id=148078)
The patch

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>drizzt@gentoo.org</who>
            <bug_when>2008-05-09 19:15:11 0000</bug_when>
            <thetext>Fixed, thanks</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>148077</attachid>
            <date>2008-04-02 12:55 0000</date>
            <desc>Tested ebuild with new patch included</desc>
            <filename>zsnes-1.51-r2.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA4IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2dhbWVzLWVtdWxhdGlvbi96c25lcy96c25lcy0x
LjUxLXIxLmVidWlsZCx2IDEuNiAyMDA4LzAyLzI5IDE5OjA4OjIyIGNhcmxvIEV4cCAkCgppbmhl
cml0IGV1dGlscyBhdXRvdG9vbHMgZmxhZy1vLW1hdGljIHRvb2xjaGFpbi1mdW5jcyBnYW1lcwoK
REVTQ1JJUFRJT049IlNORVMgKFN1cGVyIE5pbnRlbmRvKSBlbXVsYXRvciB0aGF0IHVzZXMgeDg2
IGFzc2VtYmx5IgpIT01FUEFHRT0iaHR0cDovL3d3dy56c25lcy5jb20vIGh0dHA6Ly9pcGhlcnN3
aXBzaXRlLmNvbS96c25lcy8iClNSQ19VUkk9Im1pcnJvcjovL3NvdXJjZWZvcmdlL3pzbmVzLyR7
UE59JHtQVi8vLi99c3JjLnRhci5iejIiCgpMSUNFTlNFPSJHUEwtMiIKU0xPVD0iMCIKS0VZV09S
RFM9Ii0qIGFtZDY0IHg4NiB+eDg2LWZic2QiCklVU0U9ImFvIGN1c3RvbS1jZmxhZ3Mgb3Blbmds
IHBuZyIKClJERVBFTkQ9Im1lZGlhLWxpYnMvbGlic2RsCgk+PXN5cy1saWJzL3psaWItMS4yLjMt
cjEKCWFtZDY0PyAoID49YXBwLWVtdWxhdGlvbi9lbXVsLWxpbnV4LXg4Ni1zZGwtMTAuMSApCglh
bz8gKCBtZWRpYS1saWJzL2xpYmFvICkKCW9wZW5nbD8gKCB2aXJ0dWFsL29wZW5nbCApCglwbmc/
ICggbWVkaWEtbGlicy9saWJwbmcgKSIKREVQRU5EPSIke1JERVBFTkR9CglkZXYtbGFuZy9uYXNt
CglhbWQ2ND8gKCA+PXN5cy1hcHBzL3BvcnRhZ2UtMi4xICkiCgpTPSR7V09SS0RJUn0vJHtQTn1f
JHtQVi8vLi9ffS9zcmMKCnNyY191bnBhY2soKSB7Cgl1bnBhY2sgJHtBfQoJY2QgIiR7U30iCgoJ
IyBGaXhpbmcgY29tcGlsYXRpb24gd2l0aG91dCBsaWJwbmcgaW5zdGFsbGVkCgllcGF0Y2ggIiR7
RklMRVNESVJ9Ii8ke1B9LWxpYnBuZy5wYXRjaAoJIyBGaXggYnVnICMxODYxMTEKCWVwYXRjaCAi
JHtGSUxFU0RJUn0iLyR7UH0tYXJjaG9wdC1qdWx5LTIzLXVwZGF0ZS5wYXRjaAoJIyBGaXggYnVn
ICMyMTQ2OTcgOy0pCgllcGF0Y2ggIiR7RklMRVNESVJ9Ii8ke1B9LWxpYmFvLXRocmVhZC5wYXRj
aAoKCSMgUmVtb3ZlIGhhcmRjb2RlZCBDRkxBR1MgYW5kIExERkxBR1MKCWlmIHVzZSBjdXN0b20t
Y2ZsYWdzOyB0aGVuCgkJc2VkIC1pIC1lICcvXlxzKkNGTEFHUz0uKiAtZm9taXQtZnJhbWUtcG9p
bnRlciAvZCcgXAoJCQljb25maWd1cmUuaW4gfHwgZGllCgkJYXBwZW5kLWZsYWdzIC1mb21pdC1m
cmFtZS1wb2ludGVyIC1EX19SRUxFQVNFX18KCWVsc2UKCQlzdHJpcC1mbGFncwoJZmkKCXNlZCAt
aSBcCgkJLWUgJ3M6XlxzKlNUUklQPSItcyI6U1RSSVA9IiI6JwlcCgkJLWUgJ3M6XlxzKkNGTEFH
Uz0uKiAtSVwvdXNyXC9sb2NhbFwvaW5jbHVkZSAuKiQ6Q0ZMQUdTPSIke0NGTEFHU30gLUkuIjon
CVwKCQktZSAnL15ccypMREZMQUdTPS4qIC1MXC91c3JcL2xvY2FsXC9saWIgL2QnCQlcCgkJY29u
ZmlndXJlLmluIHx8IGRpZQoKCWVhdXRvcmVjb25mCn0KCnNyY19jb21waWxlKCkgewoJdGMtZXhw
b3J0IENDCgoJdXNlIGFtZDY0ICYmIG11bHRpbGliX3Rvb2xjaGFpbl9zZXR1cCB4ODYKCglsb2Nh
bCBteWNvbmY9IiIKCXVzZSBjdXN0b20tY2ZsYWdzICYmIG15Y29uZj0iLS1kaXNhYmxlLWNwdWNo
ZWNrIGZvcmNlX2FyY2g9bm8iCgoJZWdhbWVzY29uZiBcCgkJJCh1c2VfZW5hYmxlIGFvIGxpYmFv
KSBcCgkJJCh1c2VfZW5hYmxlIHBuZyBsaWJwbmcpIFwKCQkkKHVzZV9lbmFibGUgb3BlbmdsKSBc
CgkJLS1kaXNhYmxlLWRlYnVnIFwKCQktLWVuYWJsZS1yZWxlYXNlIFwKCQkke215Y29uZn0gXAoJ
CXx8IGRpZQoJZW1ha2UgbWFrZWZpbGUuZGVwIHx8IGRpZSAiZW1ha2UgZmFpbGVkIgoJZW1ha2Ug
fHwgZGllICJlbWFrZSBmYWlsZWQiCn0KCnNyY19pbnN0YWxsKCkgewoJZG9nYW1lc2JpbiB6c25l
cyB8fCBkaWUgImRvZ2FtZXNiaW4gZmFpbGVkIgoJbmV3bWFuIGxpbnV4L3pzbmVzLjEgenNuZXMu
NgoJZG9kb2MgLi4vZG9jcy97cmVhZG1lLjFzdCwqLnR4dCxSRUFETUUuTElOVVh9Cglkb2RvYyAu
Li9kb2NzL3JlYWRtZS50eHQvKgoJZG9odG1sIC1yIC4uL2RvY3MvcmVhZG1lLmh0bS8qCgltYWtl
X2Rlc2t0b3BfZW50cnkgenNuZXMgWlNORVMgenNuZXMKCW5ld2ljb24gaWNvbnMvNDh4NDh4MzIu
cG5nICR7UE59LnBuZwoJcHJlcGdhbWVzZGlycwp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148078</attachid>
            <date>2008-04-02 12:57 0000</date>
            <desc>The patch</desc>
            <filename>zsnes-1.51-libao-thread.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGxpbnV4L2F1ZGlvLmMub2xkICAgMjAwNy0wMS0wOSAyMDoxOToxMi4wMDAwMDAwMDAgLTA1
MDAgCisrKyBsaW51eC9hdWRpby5jICAgMjAwNy0xMi0zMCAyMDozMzowNy4wMDAwMDAwMDAgLTA1
MDAgCkBAIC0xNzcsMTEgKzE3Nyw3IEBAIAogICB9CiAgIGVsc2UKICAgewotICAgIGlmIChwdGhy
ZWFkX2NyZWF0ZSgmYXVkaW9fdGhyZWFkLCAwLCBTb3VuZFRocmVhZF9hbywgMCkpCi0gICAgewot
ICAgICAgcHV0cygicHRocmVhZF9jcmVhdGUoKSBmYWlsZWQuIik7Ci0gICAgfQotICAgIGVsc2Ug
aWYgKHB0aHJlYWRfbXV0ZXhfaW5pdCgmYXVkaW9fbXV0ZXgsIDApKQorICAgIGlmIChwdGhyZWFk
X211dGV4X2luaXQoJmF1ZGlvX211dGV4LCAwKSkKICAgICB7CiAgICAgICBwdXRzKCJwdGhyZWFk
X211dGV4X2luaXQoKSBmYWlsZWQuIik7CiAgICAgfQpAQCAtMTg5LDYgKzE4NSwxMCBAQAogICAg
IHsKICAgICAgIHB1dHMoInB0aHJlYWRfY29uZF9pbml0KCkgZmFpbGVkLiIpOwogICAgIH0KKyAg
ICBlbHNlIGlmIChwdGhyZWFkX2NyZWF0ZSgmYXVkaW9fdGhyZWFkLCAwLCBTb3VuZFRocmVhZF9h
bywgMCkpCisgICAgeworICAgICAgcHV0cygicHRocmVhZF9jcmVhdGUoKSBmYWlsZWQuIik7Cisg
ICAgfQogICAgIEluaXRTYW1wbGVDb250cm9sKCk7CiAgIH0K
</data>        

          </attachment>
    </bug>

</bugzilla>