private static int parseSignalString(Ruby runtime, String value) { boolean negative = value.startsWith("-"); // Gets rid of the - if there is one present. if (negative) value = value.substring(1); // We need the SIG for sure. String signalName = value.startsWith("SIG") ? value : "SIG" + value; try { int signalValue = Signal.valueOf(signalName).intValue(); return negative ? -signalValue : signalValue; } catch (IllegalArgumentException ex) { throw runtime.newArgumentError("unsupported name `" + signalName + "'"); } }
@JRubyMethod(module = true) public static IRubyObject list(ThreadContext context, IRubyObject recv) { Ruby runtime = recv.getRuntime(); RubyHash names = RubyHash.newHash(runtime); for (Signal s : Signal.values()) { if (!s.description().startsWith("SIG")) continue; if (!RUBY_18_SIGNALS.contains(s.description().substring(3))) continue; // replace CLD with CHLD value long longValue = s.longValue(); if (s == Signal.SIGCLD) longValue = Signal.SIGCHLD.longValue(); // omit unsupported signals if (longValue >= 20000) continue; names.op_aset(context, runtime.newString(s.description().substring("SIG".length())), runtime.newFixnum(longValue)); } names.op_aset(context, runtime.newString("EXIT"), runtime.newFixnum(0)); return names; }
public final String toString() { return description(); } public static Signal valueOf(long value) {
public SignalHandler signal(jnr.constants.platform.Signal sig, final SignalHandler handler) { Signal s = new Signal(sig.name().substring("SIG".length())); sun.misc.SignalHandler oldHandler = Signal.handle(s, new SunMiscSignalHandler(handler)); if (oldHandler instanceof SunMiscSignalHandler) { return ((SunMiscSignalHandler)oldHandler).handler; } else { return null; } }
if (_signo < 0 || _signo > NSIG.longValue()) { throw runtime.newArgumentError("invalid signal number (" + _signo + ")");
private static int parseSignalString(Ruby runtime, String value) { boolean negative = value.startsWith("-"); // Gets rid of the - if there is one present. if (negative) value = value.substring(1); // We need the SIG for sure. String signalName = value.startsWith("SIG") ? value : "SIG" + value; try { int signalValue = Signal.valueOf(signalName).intValue(); return negative ? -signalValue : signalValue; } catch (IllegalArgumentException ex) { throw runtime.newArgumentError("unsupported name `" + signalName + "'"); } }
@JRubyMethod(module = true) public static IRubyObject list(ThreadContext context, IRubyObject recv) { Ruby runtime = recv.getRuntime(); RubyHash names = RubyHash.newHash(runtime); for (Signal s : Signal.values()) { if (!s.description().startsWith("SIG")) continue; if (!RUBY_18_SIGNALS.contains(s.description().substring(3))) continue; // replace CLD with CHLD value long longValue = s.longValue(); if (s == Signal.SIGCLD) longValue = Signal.SIGCHLD.longValue(); // omit unsupported signals if (longValue >= 20000) continue; names.op_aset(context, runtime.newString(s.description().substring("SIG".length())), runtime.newFixnum(longValue)); } names.op_aset(context, runtime.newString("EXIT"), runtime.newFixnum(0)); return names; }
public final String toString() { return description(); } public static Signal valueOf(long value) {
public SignalHandler signal(jnr.constants.platform.Signal sig, final SignalHandler handler) { Signal s = new Signal(sig.name().substring("SIG".length())); sun.misc.SignalHandler oldHandler = Signal.handle(s, new SunMiscSignalHandler(handler)); if (oldHandler instanceof SunMiscSignalHandler) { return ((SunMiscSignalHandler)oldHandler).handler; } else { return null; } }
if (_signo < 0 || _signo > NSIG.longValue()) { throw runtime.newArgumentError("invalid signal number (" + _signo + ")");
public int kill(Signal sig) { return posix.kill(pid, sig.intValue()); }
public final String toString() { return description(); } public static Signal valueOf(long value) {
public SignalHandler signal(jnr.constants.platform.Signal sig, final SignalHandler handler) { Signal s = new Signal(sig.name().substring("SIG".length())); sun.misc.SignalHandler oldHandler = Signal.handle(s, new SunMiscSignalHandler(handler)); if (oldHandler instanceof SunMiscSignalHandler) { return ((SunMiscSignalHandler)oldHandler).handler; } else { return null; } }
public int killProcessGroup(Signal sig) { return posix.kill(-pid, sig.intValue()); }
public SignalHandler signal(jnr.constants.platform.Signal sig, final SignalHandler handler) { Signal s = new Signal(sig.name().substring("SIG".length())); sun.misc.SignalHandler oldHandler = Signal.handle(s, new SunMiscSignalHandler(handler)); if (oldHandler instanceof SunMiscSignalHandler) { return ((SunMiscSignalHandler)oldHandler).handler; } else { return null; } }
public SignalHandler signal(Signal sig, final SignalHandler handler) { synchronized (signalHandlers) { SignalHandler old = signalHandlers.get(sig); long result = libc().signal(sig.intValue(), new LibC.LibCSignalHandler() { public void signal(int sig) { handler.handle(sig); } }); if (result != -1) { signalHandlers.put(sig, handler); } return old; } }
public SignalHandler signal(Signal sig, final SignalHandler handler) { synchronized (signalHandlers) { SignalHandler old = signalHandlers.get(sig); long result = libc().signal(sig.intValue(), new LibC.LibCSignalHandler() { public void signal(int sig) { handler.handle(sig); } }); if (result != -1) { signalHandlers.put(sig, handler); } return old; } }
public SignalHandler signal(Signal sig, final SignalHandler handler) { synchronized (signalHandlers) { SignalHandler old = signalHandlers.get(sig); long result = libc().signal(sig.intValue(), new LibC.LibCSignalHandler() { public void signal(int sig) { handler.handle(sig); } }); if (result != -1) { signalHandlers.put(sig, handler); } return old; } }
public SignalHandler signal(Signal sig, final SignalHandler handler) { synchronized (signalHandlers) { SignalHandler old = signalHandlers.get(sig); long result = libc().signal(sig.intValue(), new LibC.LibCSignalHandler() { public void signal(int sig) { handler.handle(sig); } }); if (result != -1) { signalHandlers.put(sig, handler); } return old; } }