int fd = sock->sock;
SilcBuffer src = sock->outbuf;
+ if (!src)
+ return -2;
if (SILC_IS_DISABLED(sock))
return -1;
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;
}