private IRubyObject trap(final Ruby runtime, final JRubySignalHandler handler) { return trap(runtime,handler.signal, handler); }
public IRubyObject restorePlatformDefault(IRubyObject recv, IRubyObject sig) { SignalHandler handler; Ruby runtime = recv.getRuntime(); try { synchronized (original) { handler = original.get(new Signal(sig.toString())); } } catch (IllegalArgumentException e) { handler = null; } if (handler != null) { return trap(runtime, sig.toString(), handler); } else { // JRuby hasn't touched this signal handler, so it should be the platform default already // We still need to return the handler if one exists, though. synchronized (fakeOriginal) { handler = fakeOriginal.remove(sig.toString()); } return getSignalResult(runtime, handler, true); } }
private IRubyObject trap(final Ruby runtime, final String signalName, final SignalHandler handler) { boolean handled; SignalHandler oldHandler; Signal signal; try { signal = new Signal(signalName); oldHandler = Signal.handle(signal, handler); synchronized (original) { if (!original.containsKey(signal)) original.put(signal, oldHandler); } handled = true; } catch (IllegalArgumentException e) { signal = null; oldHandler = fakeOriginal.get(signalName); synchronized (fakeOriginal) { fakeOriginal.put(signalName, handler); } // EXIT is a special pseudo-signal. We want to mark this signal as handled if so. handled = signalName.equals("EXIT"); } return getSignalResult(runtime, oldHandler, handled); }
public IRubyObject restorePlatformDefault(IRubyObject recv, IRubyObject sig) { SignalHandler handler; Ruby runtime = recv.getRuntime(); try { synchronized (original) { handler = original.get(new Signal(sig.toString())); } } catch (IllegalArgumentException e) { handler = null; } if (handler != null) { return trap(runtime, sig.toString(), handler); } else { // JRuby hasn't touched this signal handler, so it should be the platform default already // We still need to return the handler if one exists, though. synchronized (fakeOriginal) { handler = fakeOriginal.remove(sig.toString()); } return getSignalResult(runtime, handler, true); } }
private IRubyObject trap(final Ruby runtime, final String signalName, final SignalHandler handler) { boolean handled; SignalHandler oldHandler; Signal signal; try { signal = new Signal(signalName); oldHandler = Signal.handle(signal, handler); synchronized (original) { if (!original.containsKey(signal)) original.put(signal, oldHandler); } handled = true; } catch (IllegalArgumentException e) { signal = null; oldHandler = fakeOriginal.get(signalName); synchronized (fakeOriginal) { fakeOriginal.put(signalName, handler); } // EXIT is a special pseudo-signal. We want to mark this signal as handled if so. handled = signalName.equals("EXIT"); } return getSignalResult(runtime, oldHandler, handled); }
private IRubyObject trap(final Ruby runtime, final JRubySignalHandler handler) { return trap(runtime,handler.signal, handler); }
private IRubyObject trap(final Ruby runtime, final JRubySignalHandler handler) { return trap(runtime,handler.signal,handler); }
private IRubyObject trap(final Ruby runtime, final JRubySignalHandler handler) { return trap(runtime,handler.signal,handler); }
public IRubyObject trap(final Ruby runtime, BlockCallback blk, String sig) { return trap(runtime, new JRubySignalHandler(runtime, blk, sig)); }
public IRubyObject restoreOSDefault(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(), sig.toString(), SignalHandler.SIG_DFL); }
public IRubyObject trap(final Ruby runtime, BlockCallback blk, String sig) { return trap(runtime, new JRubySignalHandler(runtime, blk, sig)); }
public IRubyObject ignore(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(), sig.toString(), SignalHandler.SIG_IGN); }
public IRubyObject ignore(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(),sig.toString(),SignalHandler.SIG_IGN); }
public IRubyObject ignore(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(), sig.toString(), SignalHandler.SIG_IGN); }
public IRubyObject restoreOSDefault(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(),sig.toString(),SignalHandler.SIG_DFL); }
public IRubyObject ignore(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(),sig.toString(),SignalHandler.SIG_IGN); }
public IRubyObject restoreOSDefault(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(), sig.toString(), SignalHandler.SIG_DFL); }
public IRubyObject trap(final Ruby runtime, BlockCallback blk, String sig) { return trap(runtime, new JRubySignalHandler(runtime, blk, sig)); }
public IRubyObject trap(final Ruby runtime, BlockCallback blk, String sig) { return trap(runtime, new JRubySignalHandler(runtime, blk, sig)); }
public IRubyObject restoreOSDefault(IRubyObject recv, IRubyObject sig) { return trap(recv.getRuntime(),sig.toString(),SignalHandler.SIG_DFL); }