summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--io.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 19941b8869..eeef38a33f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jul 6 22:57:21 2010 Tanaka Akira <akr@fsij.org>
+
+ * io.c (nogvl_copy_stream_sendfile): jump to retry_sendfile directly
+ to avoid select() on a socket which TCP state is CLOSED.
+ patch by Eric Wong. [ruby-core:31053]
+
Tue Jul 6 21:45:34 2010 NAKAMURA Usaku <usa@ruby-lang.org>
* io/console/console.c (winsize_row): should return actual screen
diff --git a/io.c b/io.c
index 5129a143aa..4e239f8601 100644
--- a/io.c
+++ b/io.c
@@ -8147,8 +8147,7 @@ nogvl_copy_stream_sendfile(struct copy_stream_struct *stp)
stp->total += ss;
copy_length -= ss;
if (0 < copy_length) {
- ss = -1;
- errno = EAGAIN;
+ goto retry_sendfile;
}
}
if (ss == -1) {