summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/ppp/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/ppp/ppp/server.c')
-rw-r--r--usr.sbin/ppp/ppp/server.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/usr.sbin/ppp/ppp/server.c b/usr.sbin/ppp/ppp/server.c
index 38705261ba3..65f2b96f387 100644
--- a/usr.sbin/ppp/ppp/server.c
+++ b/usr.sbin/ppp/ppp/server.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $OpenBSD: server.c,v 1.18 2006/09/25 05:59:28 otto Exp $
+ * $OpenBSD: server.c,v 1.19 2013/03/11 17:40:11 deraadt Exp $
*/
#include <sys/param.h>
@@ -101,9 +101,11 @@ server_Read(struct fdescriptor *d, struct bundle *bundle, const fd_set *fdset)
if (s->fd >= 0 && FD_ISSET(s->fd, fdset)) {
wfd = accept(s->fd, sa, &ssize);
- if (wfd < 0)
- log_Printf(LogERROR, "server_Read: accept(): %s\n", strerror(errno));
- else if (sa->sa_len == 0) {
+ if (wfd < 0) {
+ if (errno != EINTR && errno != EWOULDBLOCK &&
+ errno != ECONNABORTED)
+ log_Printf(LogERROR, "server_Read: accept(): %s\n", strerror(errno));
+ } else if (sa->sa_len == 0) {
close(wfd);
wfd = -1;
}