Top Inners Fields Constructors Methods
org.jruby.util

public Class SunSignalFacade

extends Object
implements SignalFacade
Class Inheritance
All Implemented Interfaces
org.jruby.util.SignalFacade
Imports
org.jruby.Ruby, .RubyArray, .RubyBoolean, .RubyFixnum, .RubyProc, org.jruby.exceptions.MainExitException, .RaiseException, org.jruby.runtime.Signature, .CallBlock, .Block, .BlockCallback, .ThreadContext, org.jruby.runtime.builtin.IRubyObject, sun.misc.Signal, .SignalHandler, java.util.HashMap, .Map

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final Map<String, SignalHandler>
private static final SignalHandler
IGNORE

This is used instead of SignalHandler.SIG_IGN as Signal.handle(sig, anyHandler) seems to no longer work after Signal.handle(sig, SIG_IGN).

private final Map<Signal, SignalHandler>
original

Remembers the original signal handlers before JRuby started messing around with them, to emulate Signal.trap(...,"DEFAULT") that's supposed to restore the platform default handler.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static IRubyObject
getSignalResult(ThreadContext context, final SignalHandler oldHandler, boolean handled)

public IRubyObject
ignore(ThreadContext context, IRubyObject recv, IRubyObject sig)

Implements org.jruby.util.SignalFacade.ignore.

Ignores this signal.

public IRubyObject
restoreOSDefault(ThreadContext context, IRubyObject recv, IRubyObject sig)

Implements org.jruby.util.SignalFacade.restoreOSDefault.

Restores the OS default signal handler.

public IRubyObject
restorePlatformDefault(ThreadContext context, IRubyObject recv, IRubyObject sig)

Implements org.jruby.util.SignalFacade.restorePlatformDefault.

Restores the platform (JVM's) default signal handler.

public IRubyObject
public IRubyObject
private IRubyObject
private IRubyObject
trap(ThreadContext context, final String signalName, final SignalHandler handler)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fakeOriginalback to summary
private final Map<String, SignalHandler> fakeOriginal
IGNOREback to summary
private static final SignalHandler IGNORE

This is used instead of SignalHandler.SIG_IGN as Signal.handle(sig, anyHandler) seems to no longer work after Signal.handle(sig, SIG_IGN). See https://github.com/jruby/jruby/pull/6584

originalback to summary
private final Map<Signal, SignalHandler> original

Remembers the original signal handlers before JRuby started messing around with them, to emulate Signal.trap(...,"DEFAULT") that's supposed to restore the platform default handler.

Constructor Detail

SunSignalFacadeback to summary
public SunSignalFacade()

Method Detail

getSignalResultback to summary
private static IRubyObject getSignalResult(ThreadContext context, final SignalHandler oldHandler, boolean handled)
ignoreback to summary
public IRubyObject ignore(ThreadContext context, IRubyObject recv, IRubyObject sig)

Implements org.jruby.util.SignalFacade.ignore.

Doc from org.jruby.util.SignalFacade.ignore.

Ignores this signal.

restoreOSDefaultback to summary
public IRubyObject restoreOSDefault(ThreadContext context, IRubyObject recv, IRubyObject sig)

Implements org.jruby.util.SignalFacade.restoreOSDefault.

Doc from org.jruby.util.SignalFacade.restoreOSDefault.

Restores the OS default signal handler.

restorePlatformDefaultback to summary
public IRubyObject restorePlatformDefault(ThreadContext context, IRubyObject recv, IRubyObject sig)

Implements org.jruby.util.SignalFacade.restorePlatformDefault.

Doc from org.jruby.util.SignalFacade.restorePlatformDefault.

Restores the platform (JVM's) default signal handler.

trapback to summary
public IRubyObject trap(ThreadContext context, final IRubyObject recv, IRubyObject blk, IRubyObject sig)

Implements org.jruby.util.SignalFacade.trap.

trapback to summary
public IRubyObject trap(ThreadContext context, BlockCallback blk, String sig)

Implements org.jruby.util.SignalFacade.trap.

trapback to summary
private IRubyObject trap(ThreadContext context, final SunSignalFacade.JRubySignalHandler handler)
trapback to summary
private IRubyObject trap(ThreadContext context, final String signalName, final SignalHandler handler)
org.jruby.util back to summary

private final Class SunSignalFacade.JRubySignalHandler

extends Object
implements SignalHandler
Class Inheritance
All Implemented Interfaces
sun.misc.SignalHandler

Field Summary

Modifier and TypeField and Description
private final IRubyObject
private final BlockCallback
private final Ruby
private final String

Constructor Summary

AccessConstructor and Description
public
JRubySignalHandler(Ruby runtime, IRubyObject block, String signal)

public
JRubySignalHandler(Ruby runtime, BlockCallback callback, String signal)

private
JRubySignalHandler(Ruby runtime, IRubyObject block, BlockCallback callback, String signal)

Method Summary

Modifier and TypeMethod and Description
public void
handle(Signal
a signal object
signal
)

Implements sun.misc.SignalHandler.handle.

Handle the given signal

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

blockback to summary
private final IRubyObject block
blockCallbackback to summary
private final BlockCallback blockCallback
runtimeback to summary
private final Ruby runtime
signalback to summary
private final String signal

Constructor Detail

JRubySignalHandlerback to summary
public JRubySignalHandler(Ruby runtime, IRubyObject block, String signal)
JRubySignalHandlerback to summary
public JRubySignalHandler(Ruby runtime, BlockCallback callback, String signal)
JRubySignalHandlerback to summary
private JRubySignalHandler(Ruby runtime, IRubyObject block, BlockCallback callback, String signal)

Method Detail

handleback to summary
public void handle(Signal signal)

Implements sun.misc.SignalHandler.handle.

Doc from sun.misc.SignalHandler.handle.

Handle the given signal

Parameters
signal:Signal

a signal object