Browse Source

on writing, we actually can deal with ENOBUFS just as well as with EAGAIN

and EINTR, so do it, more or less from bgpd
OPENBSD_3_8
henning 19 years ago
parent
commit
04339771ec
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      src/usr.sbin/ntpd/buffer.c

+ 3
- 2
src/usr.sbin/ntpd/buffer.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: buffer.c,v 1.8 2005/08/11 16:21:52 henning Exp $ */
/* $OpenBSD: buffer.c,v 1.9 2005/08/11 16:26:29 henning Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@ -107,7 +107,8 @@ msgbuf_write(struct msgbuf *msgbuf)
} }
if ((n = writev(msgbuf->fd, iov, i)) == -1) { if ((n = writev(msgbuf->fd, iov, i)) == -1) {
if (errno == EAGAIN || errno == EINTR) /* try again later */
if (errno == EAGAIN || errno == EINTR ||
errno == ENOBUFS) /* try again later */
return (0); return (0);
else else
return (-1); return (-1);


Loading…
Cancel
Save