From 6070d6107648a52b644920a97c8d13f16678895c Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Tue, 15 Jun 2010 09:40:36 +0000 Subject: [PATCH] - Fix TCPreply on systems with no writev, if just 1 byte could be sent. git-svn-id: file:///svn/unbound/trunk@2149 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 1 + util/netevent.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/Changelog b/doc/Changelog index 30e28c9ec..43b3a4af2 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,7 @@ 15 June 2010: Wouter - tag 1.4.5 created. - trunk contains 1.4.6 in development. + - Fix TCPreply on systems with no writev, if just 1 byte could be sent. 11 June 2010: Wouter - When retry to parent the retrycount is not wiped, so failed diff --git a/util/netevent.c b/util/netevent.c index 3f3c6ce03..e5a8a4002 100644 --- a/util/netevent.c +++ b/util/netevent.c @@ -923,7 +923,8 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c) log_assert(iov[1].iov_len > 0); r = writev(fd, iov, 2); #else /* HAVE_WRITEV */ - r = send(fd, (void*)&len, sizeof(uint16_t), 0); + r = send(fd, (void*)(((uint8_t*)&len)+c->tcp_byte_count), + sizeof(uint16_t)-c->tcp_byte_count, 0); #endif /* HAVE_WRITEV */ if(r == -1) { #ifndef USE_WINSOCK -- 2.47.2