about summary refs log tree commit homepage
path: root/lib/mogilefs/backend.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mogilefs/backend.rb')
-rw-r--r--lib/mogilefs/backend.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/mogilefs/backend.rb b/lib/mogilefs/backend.rb
index d04247b..f33c42d 100644
--- a/lib/mogilefs/backend.rb
+++ b/lib/mogilefs/backend.rb
@@ -264,11 +264,13 @@ class MogileFS::Backend
 
   # Performs the +cmd+ request with +args+.
   def do_request(cmd, args, idempotent = false)
-    request = make_request cmd, args
+    no_raise = args.delete(:ruby_no_raise)
+    request = make_request(cmd, args)
     @mutex.synchronize do
       begin
         io = dispatch_unlocked(request)
-        line = io.timed_gets(@timeout) and return parse_response(line)
+        line = io.timed_gets(@timeout) and
+          return parse_response(line, no_raise ? request : nil)
 
         idempotent or
           raise EOFError, "end of file reached after: #{request.inspect}"