[xiph-cvs] cvs commit: icecast/src source.c
Brendan
brendan at xiph.org
Fri Jul 4 23:21:01 PDT 2003
brendan 03/07/05 02:21:01
Modified: src source.c
Log:
Deadlock in transparent relay code. Patch by Ned Wolpert.
Revision Changes Path
1.37 +9 -2 icecast/src/source.c
Index: source.c
===================================================================
RCS file: /cvs/ice/icecast/src/source.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -p -u -r1.36 -r1.37
--- source.c 10 Apr 2002 22:42:33 -0000 1.36
+++ source.c 5 Jul 2003 06:21:00 -0000 1.37
@@ -684,8 +684,15 @@ find_mount_with_req (request_t *req)
int err;
xa_debug (1, "DEBUG: Trying transparent proxy with host: [%s]", req->host);
- if ((sourcecon = relay_pull_stream (req, &err)))
- {
+ 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.source_mutex);
+ thread_mutex_lock (&info.mount_mutex);
+
+ if (sourcecon) {
sourcecon->food.source->type = on_demand_pull_e;
return sourcecon;
} else {
<p><p>--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the commits
mailing list