|
a/src/httpgate.cpp |
|
b/src/httpgate.cpp |
|
... |
|
... |
290 |
}
|
290 |
}
|
291 |
|
291 |
|
292 |
|
292 |
|
293 |
static void *audioEater(void *cls)
|
293 |
static void *audioEater(void *cls)
|
294 |
{
|
294 |
{
|
|
|
295 |
LOGDEB("audioEater: http\n");
|
295 |
AudioEater::Context *ctxt = (AudioEater::Context*)cls;
|
296 |
AudioEater::Context *ctxt = (AudioEater::Context*)cls;
|
296 |
|
297 |
|
297 |
LOGDEB("audioEater: queue " << ctxt->queue << " HTTP port " << ctxt->port
|
298 |
LOGDEB("audioEater: queue " << ctxt->queue << " HTTP port " << ctxt->port
|
298 |
<< endl);
|
299 |
<< endl);
|
299 |
|
300 |
|
|
... |
|
... |
312 |
return (void *)0;
|
313 |
return (void *)0;
|
313 |
}
|
314 |
}
|
314 |
|
315 |
|
315 |
WorkQueue<AudioMessage*> *queue = ctxt->queue;
|
316 |
WorkQueue<AudioMessage*> *queue = ctxt->queue;
|
316 |
delete ctxt;
|
317 |
delete ctxt;
|
|
|
318 |
ctxt = 0;
|
|
|
319 |
|
317 |
while (true) {
|
320 |
while (true) {
|
318 |
AudioMessage *tsk = 0;
|
321 |
AudioMessage *tsk = 0;
|
319 |
size_t qsz;
|
322 |
size_t qsz;
|
320 |
if (!queue->take(&tsk, &qsz)) {
|
323 |
if (!queue->take(&tsk, &qsz)) {
|
321 |
MHD_stop_daemon (daemon);
|
324 |
MHD_stop_daemon (daemon);
|