summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-04 22:59:25 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-04 22:59:25 +0000
commit6c21d166b19b7f45594c80b7548dbce602fe86cf (patch)
tree3f723e81d969455e69ed40bcc71b3c86a856209a
parent876a5f24c2fbdc27bf5e6ea6991feac2d9dbfa1b (diff)
downloadruby-6c21d166b19b7f45594c80b7548dbce602fe86cf.tar.gz
ruby-6c21d166b19b7f45594c80b7548dbce602fe86cf.tar.xz
ruby-6c21d166b19b7f45594c80b7548dbce602fe86cf.zip
* io.c (io_binwrite): arg.offset should be updated after retry.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--io.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ed75ef4b7..5f9b2667a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Dec 5 07:58:30 2008 Tanaka Akira <akr@fsij.org>
+
+ * io.c (io_binwrite): arg.offset should be updated after retry.
+
Fri Dec 5 03:29:17 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* load.c (rb_get_load_path): returns the load path without
diff --git a/io.c b/io.c
index 13da5bba3..a9210f569 100644
--- a/io.c
+++ b/io.c
@@ -795,8 +795,8 @@ io_binwrite(VALUE str, rb_io_t *fptr, int nosync)
}
arg.fptr = fptr;
arg.str = str;
- arg.offset = offset;
retry:
+ arg.offset = offset;
arg.length = n;
if (fptr->write_lock) {
r = rb_mutex_synchronize(fptr->write_lock, io_binwrite_string, (VALUE)&arg);