summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--atomicio.c4
-rw-r--r--configure.ac5
3 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 515bd9184..c1df7b87e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
2 - (djm) [auth.c] Fixed test for locked account on HP/UX with shadowed 2 - (djm) [auth.c] Fixed test for locked account on HP/UX with shadowed
3 passwords disabled. bz#1083 report & patch from senthilkumar_sen AT 3 passwords disabled. bz#1083 report & patch from senthilkumar_sen AT
4 hotpop.com, w/ dtucker@ 4 hotpop.com, w/ dtucker@
5 - (djm) [atomicio.c configure.ac] Disable poll() fallback in atomiciov for
6 Tru64. readv doesn't seem to be a comparable object there.
7 bz#1386, patch from dtucker@ ok me
5 8
620080704 920080704
7 - (dtucker) OpenBSD CVS Sync 10 - (dtucker) OpenBSD CVS Sync
@@ -4575,4 +4578,4 @@
4575 OpenServer 6 and add osr5bigcrypt support so when someone migrates 4578 OpenServer 6 and add osr5bigcrypt support so when someone migrates
4576 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 4579 passwords between UnixWare and OpenServer they will still work. OK dtucker@
4577 4580
4578$Id: ChangeLog,v 1.5059 2008/07/04 22:59:43 djm Exp $ 4581$Id: ChangeLog,v 1.5060 2008/07/04 23:36:58 djm Exp $
diff --git a/atomicio.c b/atomicio.c
index bb44c3230..a6b2d127a 100644
--- a/atomicio.c
+++ b/atomicio.c
@@ -97,8 +97,10 @@ atomiciov(ssize_t (*f) (int, const struct iovec *, int), int fd,
97 /* Make a copy of the iov array because we may modify it below */ 97 /* Make a copy of the iov array because we may modify it below */
98 memcpy(iov, _iov, iovcnt * sizeof(*_iov)); 98 memcpy(iov, _iov, iovcnt * sizeof(*_iov));
99 99
100#ifndef BROKEN_READV_COMPARISON
100 pfd.fd = fd; 101 pfd.fd = fd;
101 pfd.events = f == readv ? POLLIN : POLLOUT; 102 pfd.events = f == readv ? POLLIN : POLLOUT;
103#endif
102 for (; iovcnt > 0 && iov[0].iov_len > 0;) { 104 for (; iovcnt > 0 && iov[0].iov_len > 0;) {
103 res = (f) (fd, iov, iovcnt); 105 res = (f) (fd, iov, iovcnt);
104 switch (res) { 106 switch (res) {
@@ -106,7 +108,9 @@ atomiciov(ssize_t (*f) (int, const struct iovec *, int), int fd,
106 if (errno == EINTR) 108 if (errno == EINTR)
107 continue; 109 continue;
108 if (errno == EAGAIN || errno == EWOULDBLOCK) { 110 if (errno == EAGAIN || errno == EWOULDBLOCK) {
111#ifndef BROKEN_READV_COMPARISON
109 (void)poll(&pfd, 1, -1); 112 (void)poll(&pfd, 1, -1);
113#endif
110 continue; 114 continue;
111 } 115 }
112 return 0; 116 return 0;
diff --git a/configure.ac b/configure.ac
index eb71a879a..330b0eb5e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.406 2008/06/15 16:27:48 dtucker Exp $ 1# $Id: configure.ac,v 1.407 2008/07/04 23:36:58 djm Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
18AC_REVISION($Revision: 1.406 $) 18AC_REVISION($Revision: 1.407 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -841,6 +841,7 @@ mips-sony-bsd|mips-sony-newsos4)
841 AC_DEFINE(SETEUID_BREAKS_SETUID) 841 AC_DEFINE(SETEUID_BREAKS_SETUID)
842 AC_DEFINE(BROKEN_SETREUID) 842 AC_DEFINE(BROKEN_SETREUID)
843 AC_DEFINE(BROKEN_SETREGID) 843 AC_DEFINE(BROKEN_SETREGID)
844 AC_DEFINE(BROKEN_READV_COMPARISON, 1, [Can't do comparisons on readv]))
844 ;; 845 ;;
845 846
846*-*-nto-qnx*) 847*-*-nto-qnx*)