X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Funix%2Fsilcunixsockconn.c;h=4d14ac5fc323626aa037aeff5eabedeca60441da;hp=b65ad21dc1d90c2ab5e93de5989d02fb7a2212ed;hb=382d15d447b7a95390decfa783836ae4fe255b3d;hpb=a1f5a1f7cfc6f37bff61252998589c9da443497a diff --git a/lib/silcutil/unix/silcunixsockconn.c b/lib/silcutil/unix/silcunixsockconn.c index b65ad21d..4d14ac5f 100644 --- a/lib/silcutil/unix/silcunixsockconn.c +++ b/lib/silcutil/unix/silcunixsockconn.c @@ -33,6 +33,8 @@ int silc_socket_write(SilcSocketConnection sock) int fd = sock->sock; SilcBuffer src = sock->outbuf; + if (!src) + return -2; if (SILC_IS_DISABLED(sock)) return -1; @@ -41,7 +43,7 @@ int silc_socket_write(SilcSocketConnection sock) if (src->len > 0) { ret = write(fd, src->data, src->len); if (ret < 0) { - if (errno == EAGAIN) { + if (errno == EAGAIN || errno == EINTR) { SILC_LOG_DEBUG(("Could not write immediately, will do it later")); return -2; }