Author: beat
Date: Tue Oct 26 07:49:23 2010
New Revision: 417

Log:
- Fix crash destroying stream in OSS sydneyaudio backend
- Bump PORTREVISION

PR:             ports/151728
Submitted by:   Ilya A. Arhipov <pa36ouHu4er AT yandex.ru>
Obtained from:  Mozilla Bugzilla ID 562488

Added:
   
branches/experimental/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
   trunk/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
Modified:
   branches/experimental/www/firefox/Makefile
   trunk/www/firefox/Makefile

Modified: branches/experimental/www/firefox/Makefile
==============================================================================
--- branches/experimental/www/firefox/Makefile  Mon Oct 25 21:46:26 2010        
(r416)
+++ branches/experimental/www/firefox/Makefile  Tue Oct 26 07:49:23 2010        
(r417)
@@ -7,6 +7,7 @@
 
 PORTNAME=      firefox
 DISTVERSION=   3.6.11
+PORTREVISION=  1
 PORTEPOCH=     1
 CATEGORIES=    www ipv6
 MASTER_SITES=  ${MASTER_SITE_MOZILLA}

Added: 
branches/experimental/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
branches/experimental/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
   Tue Oct 26 07:49:23 2010        (r417)
@@ -0,0 +1,33 @@
+--- media/libsydneyaudio/src/sydney_audio_oss.c.orig   2010-10-12 
21:45:53.000000000 +0400
++++ media/libsydneyaudio/src/sydney_audio_oss.c        2010-10-25 
23:33:08.919096567 +0400
+@@ -258,6 +258,7 @@
+ int
+ sa_stream_destroy(sa_stream_t *s) {
+   int result = SA_SUCCESS;
++  pthread_t thread_id;
+ 
+   if (s == NULL) {
+     return SA_SUCCESS;
+@@ -265,8 +266,10 @@
+ 
+   pthread_mutex_lock(&s->mutex);
+ 
++  thread_id = s->thread_id;
++
+   /*
+-   * This causes the thread sending data to ALSA to stop
++   * This causes the thread sending data to OSS to stop
+    */
+   s->thread_id = 0;
+ 
+@@ -281,6 +284,8 @@
+ 
+   pthread_mutex_unlock(&s->mutex);
+ 
++  pthread_join(thread_id, NULL);
++
+   /*
+    * Release resources.
+    */
+
+

Modified: trunk/www/firefox/Makefile
==============================================================================
--- trunk/www/firefox/Makefile  Mon Oct 25 21:46:26 2010        (r416)
+++ trunk/www/firefox/Makefile  Tue Oct 26 07:49:23 2010        (r417)
@@ -7,6 +7,7 @@
 
 PORTNAME=      firefox
 DISTVERSION=   3.6.11
+PORTREVISION=  1
 PORTEPOCH=     1
 CATEGORIES=    www ipv6
 MASTER_SITES=  ${MASTER_SITE_MOZILLA}

Added: trunk/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ trunk/www/firefox/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c   
Tue Oct 26 07:49:23 2010        (r417)
@@ -0,0 +1,33 @@
+--- media/libsydneyaudio/src/sydney_audio_oss.c.orig   2010-10-12 
21:45:53.000000000 +0400
++++ media/libsydneyaudio/src/sydney_audio_oss.c        2010-10-25 
23:33:08.919096567 +0400
+@@ -258,6 +258,7 @@
+ int
+ sa_stream_destroy(sa_stream_t *s) {
+   int result = SA_SUCCESS;
++  pthread_t thread_id;
+ 
+   if (s == NULL) {
+     return SA_SUCCESS;
+@@ -265,8 +266,10 @@
+ 
+   pthread_mutex_lock(&s->mutex);
+ 
++  thread_id = s->thread_id;
++
+   /*
+-   * This causes the thread sending data to ALSA to stop
++   * This causes the thread sending data to OSS to stop
+    */
+   s->thread_id = 0;
+ 
+@@ -281,6 +284,8 @@
+ 
+   pthread_mutex_unlock(&s->mutex);
+ 
++  pthread_join(thread_id, NULL);
++
+   /*
+    * Release resources.
+    */
+
+
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-gecko
To unsubscribe, send any mail to "[email protected]"

Reply via email to