diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2005-08-11 16:24:12 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2005-08-11 16:24:12 +0000 |
commit | 1a1870f1d40fae0b5b4a851eb3fde752023b71e2 (patch) | |
tree | 7abe788e9bb14c3723f8fff26698b211477d90a3 /usr.sbin/bgpd/buffer.c | |
parent | 41a39b932c3249d3316368a90b3f47e3a8206540 (diff) |
two missing EINTR here too
Diffstat (limited to 'usr.sbin/bgpd/buffer.c')
-rw-r--r-- | usr.sbin/bgpd/buffer.c | 8 |
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); |