# File ruby/bstream.rb, line 617 def exec(out) @out = out begin write_int1(M_RETURN) write(@sid) write_int1(@code) case @code when R_OK write(@value) when R_APP_ERROR,R_PROTOCOL_ERROR,R_FATAL_ERROR write(@err_klass) write(@err_message) write(@err_detail) else raise IOError.new("Unknown return code: #{@code}") end ensure @out.flush @out = nil end end