pa_memblock_unref(chunk.memblock);
if (r < 0) {
-
- if (errno == EINTR || errno == EAGAIN)
- return 0;
-
pa_log("write(): %s", pa_cstrerror(errno));
return -1;
}
pa_memblockq_drop(c->output_memblockq, (size_t) r);
- return 0;
+ return 1;
}
/* Called from main context */
if (pa_iochannel_is_hungup(c->io))
goto fail;
- if (pa_iochannel_is_writable(c->io))
- if (do_write(c) < 0)
+ while (pa_iochannel_is_writable(c->io)) {
+ int r = do_write(c);
+ if (r < 0)
goto fail;
+ if (r == 0)
+ break;
+ }
return;
data.driver = __FILE__;
data.module = c->module;
data.client = c->client;
- pa_source_output_new_data_set_source(&data, source, FALSE);
+ pa_source_output_new_data_set_source(&data, source, false);
pa_proplist_update(data.proplist, PA_UPDATE_MERGE, c->client->proplist);
pa_source_output_new_data_set_sample_spec(&data, &ss);
pa_source_output_new_data_set_channel_map(&data, &cm);
l = (size_t) (pa_bytes_per_second(&ss)*RECORD_BUFFER_SECONDS);
c->output_memblockq = pa_memblockq_new(
+ "http protocol connection output_memblockq",
0,
l,
0,
- pa_frame_size(&ss),
+ &ss,
1,
0,
0,
http_response(c, 200, "OK", t);
pa_xfree(t);
- if(c->method == METHOD_HEAD) {
+ if (c->method == METHOD_HEAD) {
connection_unlink(c);
return;
}
while ((c = pa_idxset_first(p->connections, NULL)))
connection_unlink(c);
- pa_idxset_free(p->connections, NULL, NULL);
+ pa_idxset_free(p->connections, NULL);
pa_strlist_free(p->servers);