6c08f568d0
the synchronous writing to the socket would have typically invoked the write callback, which would flush further commands, thus recursing. we take the easy way out and make it fully asynchronous, i.e., no data is sent before (re-)entering the event loop. this also has the effect that socket_write() cannot fail any more, and any errors will be reported asynchronously. this is consistent with socket_read(), and produces cleaner code. this introduces a marginal performance regression: the maildir driver is synchronous, so all messages (which fit into memory) will be read before any data is sent. this is not considered relevant. |
||
---|---|---|
.. | ||
compat | ||
.gitignore | ||
common.h | ||
config.c | ||
config.h | ||
driver.c | ||
driver.h | ||
drv_imap.c | ||
drv_maildir.c | ||
main.c | ||
Makefile.am | ||
mbsync.1 | ||
mbsyncrc.sample | ||
mdconvert.1 | ||
mdconvert.c | ||
run-tests.pl | ||
socket.c | ||
socket.h | ||
sync.c | ||
sync.h | ||
tst_timers.c | ||
util.c |