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