summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/buffer.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2005-08-11 16:24:12 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2005-08-11 16:24:12 +0000
commit1a1870f1d40fae0b5b4a851eb3fde752023b71e2 (patch)
tree7abe788e9bb14c3723f8fff26698b211477d90a3 /usr.sbin/bgpd/buffer.c
parent41a39b932c3249d3316368a90b3f47e3a8206540 (diff)
two missing EINTR here too
Diffstat (limited to 'usr.sbin/bgpd/buffer.c')
-rw-r--r--usr.sbin/bgpd/buffer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.sbin/bgpd/buffer.c b/usr.sbin/bgpd/buffer.c
index dec909625c3..f82f04dc0db 100644
--- a/usr.sbin/bgpd/buffer.c
+++ b/usr.sbin/bgpd/buffer.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: buffer.c,v 1.31 2005/04/26 15:18:22 henning Exp $ */
+/* $OpenBSD: buffer.c,v 1.32 2005/08/11 16:24:11 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -86,7 +86,8 @@ buf_write(int sock, struct buf *buf)
if ((n = write(sock, buf->buf + buf->rpos,
buf->size - buf->rpos)) == -1) {
- if (errno == EAGAIN || errno == ENOBUFS) /* try later */
+ if (errno == EAGAIN || errno == ENOBUFS ||
+ errno == EINTR) /* try later */
return (0);
else
return (-1);
@@ -165,7 +166,8 @@ msgbuf_write(struct msgbuf *msgbuf)
}
if ((n = sendmsg(msgbuf->fd, &msg, 0)) == -1) {
- if (errno == EAGAIN || errno == ENOBUFS) /* try later */
+ if (errno == EAGAIN || errno == ENOBUFS ||
+ errno == EINTR) /* try later */
return (0);
else
return (-1);