class Parallel::UserInterruptHandler

def trap_interrupt(signal)

def trap_interrupt(signal)
  old = Signal.trap signal, 'IGNORE'
  Signal.trap signal do
    yield
    if !old || old == "DEFAULT"
      raise Interrupt
    else
      old.call
    end
  end
  old
end