assert(memchunk->length);
if ((r = pa_iochannel_write(u->io, (uint8_t*) memchunk->memblock->data + memchunk->index, memchunk->length)) < 0) {
- pa_log("write() failed: %s", pa_cstrerror(errno));
- clear_up(u);
- pa_module_unload_request(u->module);
+ if (errno != EAGAIN) {
+ pa_log("write() failed: %s", pa_cstrerror(errno));
+
+ clear_up(u);
+ pa_module_unload_request(u->module);
+ }
+
break;
}
assert(memchunk.memblock);
if ((r = pa_iochannel_read(u->io, memchunk.memblock->data, memchunk.memblock->length)) < 0) {
pa_memblock_unref(memchunk.memblock);
+
if (errno != EAGAIN) {
pa_log("read() failed: %s", pa_cstrerror(errno));
+
clear_up(u);
pa_module_unload_request(u->module);
}
+
break;
}