Package org.jruby.util
Class SunSignalFacade
java.lang.Object
org.jruby.util.SunSignalFacade
- All Implemented Interfaces:
SignalFacade
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final sun.misc.SignalHandlerThis is used instead of SignalHandler.SIG_IGN asSignal.handle(sig, anyHandler)seems to no longer work afterSignal.handle(sig, SIG_IGN).private final Map<sun.misc.Signal,sun.misc.SignalHandler> Remembers the original signal handlers before JRuby started messing around with them, to emulateSignal.trap(...,"DEFAULT")that's supposed to restore the platform default handler. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static IRubyObjectgetSignalResult(Ruby runtime, sun.misc.SignalHandler oldHandler, boolean handled) ignore(IRubyObject recv, IRubyObject sig) Ignores this signal.restoreOSDefault(IRubyObject recv, IRubyObject sig) Restores the OS default signal handler.restorePlatformDefault(IRubyObject recv, IRubyObject sig) Restores the platform (JVM's) default signal handler.private IRubyObjecttrap(Ruby runtime, BlockCallback blk, String sig) private IRubyObjecttrap(Ruby runtime, SunSignalFacade.JRubySignalHandler handler) trap(IRubyObject recv, IRubyObject blk, IRubyObject sig)
-
Field Details
-
original
Remembers the original signal handlers before JRuby started messing around with them, to emulateSignal.trap(...,"DEFAULT")that's supposed to restore the platform default handler. -
fakeOriginal
-
IGNORE
private static final sun.misc.SignalHandler IGNOREThis is used instead of SignalHandler.SIG_IGN asSignal.handle(sig, anyHandler)seems to no longer work afterSignal.handle(sig, SIG_IGN). See https://github.com/jruby/jruby/pull/6584
-
-
Constructor Details
-
SunSignalFacade
public SunSignalFacade()
-
-
Method Details
-
trap
- Specified by:
trapin interfaceSignalFacade
-
trap
- Specified by:
trapin interfaceSignalFacade
-
trap
-
restorePlatformDefault
Description copied from interface:SignalFacadeRestores the platform (JVM's) default signal handler.- Specified by:
restorePlatformDefaultin interfaceSignalFacade
-
restoreOSDefault
Description copied from interface:SignalFacadeRestores the OS default signal handler.- Specified by:
restoreOSDefaultin interfaceSignalFacade
-
ignore
Description copied from interface:SignalFacadeIgnores this signal.- Specified by:
ignorein interfaceSignalFacade
-
trap
-
getSignalResult
private static IRubyObject getSignalResult(Ruby runtime, sun.misc.SignalHandler oldHandler, boolean handled)
-