class Einhorn::PrctlLinux

Constants

IntStruct

Reading integers is hard with fiddle. :(

Public Class Methods

get_pdeathsig() click to toggle source
# File lib/einhorn/prctl_linux.rb, line 19
def self.get_pdeathsig
  out = IntStruct.malloc
  out.i = 0
  if PrctlRaw.prctl(PrctlRaw::GET_PDEATHSIG, out.to_i, 0, 0, 0) != 0 then
    raise SystemCallError.new("get_pdeathsig", Fiddle.last_error)
  end

  signo = out.i
  if signo == 0 then
    return nil
  end

  return Signal.signame(signo)
end
set_pdeathsig(signal) click to toggle source
# File lib/einhorn/prctl_linux.rb, line 34
def self.set_pdeathsig(signal)
  case
  when signal == nil
    signo = 0
  when signal.instance_of?(String)
    signo = Signal.list.fetch(signal)
  else
    signo = signal
  end

  if PrctlRaw.prctl(PrctlRaw::SET_PDEATHSIG, signo, 0, 0, 0) != 0 then
    raise SystemCallError.new("set_pdeathsig(#{signal})", Fiddle.last_error)
  end
end