Module: Sys::Sv::Util

Defined in:
lib/sys/sv/util.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.open_nonblock(fn, mode, p) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/sys/sv/util.rb', line 23

def self.open_nonblock(fn, mode, p)
  mode |= Fcntl::O_NONBLOCK
  return File.open(fn, mode) if p.nil?

  begin
    f = File.open(fn, mode)
    return p.call(f)
  ensure
    f.close if f
  end
end

.open_read(fn, &p) ⇒ Object



14
15
16
# File 'lib/sys/sv/util.rb', line 14

def self.open_read(fn, &p)
  open_nonblock(fn, Fcntl::O_RDONLY, p)
end

.open_write(fn, &p) ⇒ Object



18
19
20
# File 'lib/sys/sv/util.rb', line 18

def self.open_write(fn, &p)
  open_nonblock(fn, Fcntl::O_WRONLY, p)
end