summaryrefslogtreecommitdiff
path: root/www/firefox-esr/files/patch-media-libsydneyaudio-src-sydney_audio_oss.c
blob: 66ce3efd66d37cc7b754438ba5c4982d9f55ba8c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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.
    */