class Einhorn::PrctlLinux

def self.get_pdeathsig

def self.get_pdeathsig
  out = IntStruct.malloc
  out.i = 0
  if PrctlRaw.prctl(PrctlRaw::GET_PDEATHSIG, out.to_i, 0, 0, 0) != 0
    raise SystemCallError.new("get_pdeathsig", Fiddle.last_error)
  end
  signo = out.i
  if signo == 0
    return nil
  end
  Signal.signame(signo)
end

def self.set_pdeathsig(signal)

def self.set_pdeathsig(signal)
  signo = if signal.nil?
    0
  elsif signal.instance_of?(String)
    Signal.list.fetch(signal)
  else
    signal
  end
  if PrctlRaw.prctl(PrctlRaw::SET_PDEATHSIG, signo, 0, 0, 0) != 0
    raise SystemCallError.new("set_pdeathsig(#{signal})", Fiddle.last_error)
  end
end