From cc7488746b4bb923a0ab69c53cefadcca2e1a187 Mon Sep 17 00:00:00 2001 From: olabini Date: Fri, 7 Mar 2008 13:52:20 +0000 Subject: [PATCH] Make sure syncing gets set on OpenFile too git-svn-id: http://svn.codehaus.org/jruby/trunk/jruby@6135 961051c9-f516-0410-bf72-c9f7e237a7b7 --- src/org/jruby/RubyIO.java | 1 + src/org/jruby/util/io/OpenFile.java | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/org/jruby/RubyIO.java b/src/org/jruby/RubyIO.java index c70c3607d..d7e607f2a 100644 --- a/src/org/jruby/RubyIO.java +++ b/src/org/jruby/RubyIO.java @@ -1360,6 +1360,7 @@ public class RubyIO extends RubyObject { */ @JRubyMethod(name = "sync=", required = 1) public IRubyObject sync_set(IRubyObject newSync) { + getOpenFileChecked().setSync(newSync.isTrue()); getOpenFileChecked().getMainStream().setSync(newSync.isTrue()); return this; diff --git a/src/org/jruby/util/io/OpenFile.java b/src/org/jruby/util/io/OpenFile.java index 6d9d9d4e2..61deb4716 100644 --- a/src/org/jruby/util/io/OpenFile.java +++ b/src/org/jruby/util/io/OpenFile.java @@ -168,6 +168,14 @@ public class OpenFile { mode |= WBUF; } + public void setSync(boolean sync) { + if(sync) { + mode = mode | SYNC; + } else { + mode = mode & ~SYNC; + } + } + public boolean isSync() { return (mode & SYNC) != 0; } -- 2.11.4.GIT