mirror of git://anongit.mindrot.org/openssh.git
- djm@cvs.openbsd.org 2011/06/23 23:35:42
[monitor.c] ignore EINTR errors from poll()
This commit is contained in:
parent
cd5e52ee78
commit
7741ce8bd2
|
@ -1,3 +1,9 @@
|
|||
20110805
|
||||
- OpenBSD CVS Sync
|
||||
- djm@cvs.openbsd.org 2011/06/23 23:35:42
|
||||
[monitor.c]
|
||||
ignore EINTR errors from poll()
|
||||
|
||||
20110624
|
||||
- (djm) [configure.ac Makefile.in sandbox-darwin.c] Add a sandbox for
|
||||
Darwin/OS X using sandbox_init() + setrlimit(); feedback and testing
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.324 2011/06/26 21:18:20 djm Exp $
|
||||
# $Id: Makefile.in,v 1.325 2011/08/05 20:15:18 djm Exp $
|
||||
|
||||
# uncomment if you run a non bourne compatable shell. Ie. csh
|
||||
#SHELL = @SH@
|
||||
|
@ -213,6 +213,8 @@ distclean: regressclean
|
|||
veryclean: distclean
|
||||
rm -f configure config.h.in *.0
|
||||
|
||||
cleandir: veryclean
|
||||
|
||||
mrproper: veryclean
|
||||
|
||||
realclean: veryclean
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: monitor.c,v 1.114 2011/06/17 21:44:30 djm Exp $ */
|
||||
/* $OpenBSD: monitor.c,v 1.115 2011/06/23 23:35:42 djm Exp $ */
|
||||
/*
|
||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||
* Copyright 2002 Markus Friedl <markus@openbsd.org>
|
||||
|
@ -554,8 +554,11 @@ monitor_read(struct monitor *pmonitor, struct mon_table *ent,
|
|||
pfd[0].events = POLLIN;
|
||||
pfd[1].fd = pmonitor->m_log_recvfd;
|
||||
pfd[1].events = pfd[1].fd == -1 ? 0 : POLLIN;
|
||||
if (poll(pfd, pfd[1].fd == -1 ? 1 : 2, -1) == -1)
|
||||
if (poll(pfd, pfd[1].fd == -1 ? 1 : 2, -1) == -1) {
|
||||
if (errno == EINTR || errno == EAGAIN)
|
||||
continue;
|
||||
fatal("%s: poll: %s", __func__, strerror(errno));
|
||||
}
|
||||
if (pfd[1].revents) {
|
||||
/*
|
||||
* Drain all log messages before processing next
|
||||
|
|
Loading…
Reference in New Issue