class Spoon::FileActions

Constants

SIZE

Attributes

pointer[R]

Public Class Methods

new() click to toggle source
# File lib/spoon/unix.rb, line 22
def initialize
  @pointer =  FFI::AutoPointer.new(LibC.malloc(SIZE), Releaser)
  error = LibC.posix_spawn_file_actions_init(@pointer)
  raise SystemCallError.new("posix_file_actions_init", error) unless error == 0
end

Public Instance Methods

close(fd) click to toggle source
# File lib/spoon/unix.rb, line 41
def close(fd)
  error = LibC.posix_spawn_file_actions_addclose(@pointer, fd)
  raise SystemCallError.new("posix_file_actions_addclose", error) unless error == 0
  self
end
dup2(fd, newfd) click to toggle source
# File lib/spoon/unix.rb, line 47
def dup2(fd, newfd)
  error = LibC.posix_spawn_file_actions_adddup2(@pointer, fd, newfd)
  raise SystemCallError.new("posix_file_actions_adddup2", error) unless error == 0
  self
end
open(fd, path, oflag, mode) click to toggle source
# File lib/spoon/unix.rb, line 35
def open(fd, path, oflag, mode)
  error = LibC.posix_spawn_file_actions_addopen(@pointer, fd, path, oflag, mode)
  raise SystemCallError.new("posix_file_actions_addopen", error) unless error == 0
  self
end