ratox

FIFO based tox client
git clone git://git.2f30.org/ratox
Log | Files | Refs | README | LICENSE

commit 21210b4497205453c3e03dc6168113c73839b167
parent 8cbaea4e44107b352fb923c11db08f94fba49bf4
Author: FRIGN <dev@frign.de>
Date:   Thu, 27 Nov 2014 23:05:37 +0100

Don't lock up on blocking call_out

Since the av-refactor, we keep a call active as long as there is
a listener or a sender.
In case we don't have a listener, don't lock up in the sending
function and rather just fall-through in case the write blocks.
We can't do that as easily with the file-data-code, because data-
integrity is very important there.

Diffstat:
Mratox.c | 6+-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/ratox.c b/ratox.c @@ -501,12 +501,8 @@ cbcalldata(void *av, int32_t cnum, const int16_t *data, uint16_t len, void *udat while (len > 0) { n = write(f->fd[FCALL_OUT], &buf[wrote], len); if (n < 0) { - if (errno == EPIPE) { + if (errno == EPIPE) f->av.state &= ~INCOMING; - break; - } else if (errno == EWOULDBLOCK) { - continue; - } break; } else if (n == 0) { break;