Displaying 3 results from an estimated 3 matches for "relay_pull_stream".
2004 Aug 06
5
Icecast deadlock with 1.3.12 (fixed)
...phase, but I figure I'd mention it.
   Second, there seems to be a looping issue with mutexes being locked 
multiple times with the same thread; which is where the problem may be;
In find_mount_with_req() (which must be called with mutex's locked) if 
the transparent proxy is set, it calls relay_pull_stream(), (line 687) 
which eventually calls source_login which relocks info.source_mutex. 
(This was Alex's find)  At this point, that thread is locked up, and 
eventually the second connection handler thread tries to lock it, and 
the calendar thread too.  The original server is unable to send data...
2004 Aug 06
1
Icecast deadlock with 1.3.12 (fixed)
...12/src/source.c
> 686,692d685
> <                       thread_mutex_unlock (&info.mount_mutex);
> <                       thread_mutex_unlock (&info.source_mutex);
> <                       thread_mutex_unlock (&info.double_mutex);
> <             sourcecon = relay_pull_stream (req, &err);
> <                       thread_mutex_lock (&info.double_mutex);
> <                       thread_mutex_lock (&info.mount_mutex);
> <                       thread_mutex_lock (&info.source_mutex);
> 694c687
> <               if (sourcecon)
>...
2004 Aug 06
0
Icecast deadlock with 1.3.12 (fixed)
...ource.c 
old/icecast-1.3.12/src/source.c
686,692d685
<                       thread_mutex_unlock (&info.mount_mutex);
<                       thread_mutex_unlock (&info.source_mutex);
<                       thread_mutex_unlock (&info.double_mutex);
<             sourcecon = relay_pull_stream (req, &err);
<                       thread_mutex_lock (&info.double_mutex);
<                       thread_mutex_lock (&info.mount_mutex);
<                       thread_mutex_lock (&info.source_mutex);
694c687
<               if (sourcecon)
---
 >               if...