tDon't lock up on blocking call_out - ratox - FIFO based tox client
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 21210b4497205453c3e03dc6168113c73839b167
 (DIR) parent 8cbaea4e44107b352fb923c11db08f94fba49bf4
 (HTM) 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:
         M ratox.c                             |       6 +-----
       
       1 file changed, 1 insertion(+), 5 deletions(-)
       ---
 (DIR) diff --git a/ratox.c b/ratox.c
       t@@ -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;