Class IrqHandler

java.lang.Object
org.apache.hadoop.service.launcher.IrqHandler
All Implemented Interfaces:
SignalUtil.Handler

@Private @Unstable public final class IrqHandler extends Object implements SignalUtil.Handler
Handler of interrupts that relays them to a registered implementation of IrqHandler.Interrupted. This class bundles up all the compiler warnings about abuse of sun.misc interrupt handling code into one place.
  • Field Details

  • Constructor Details

    • IrqHandler

      public IrqHandler(String name, IrqHandler.Interrupted handler)
      Create an IRQ handler bound to the specific interrupt.
      Parameters:
      name - signal name
      handler - handler
  • Method Details

    • bind

      public void bind()
      Bind to the interrupt handler.
      Throws:
      IllegalArgumentException - if the exception could not be set
    • getName

      public String getName()
      Returns:
      the signal name.
    • raise

      public void raise()
      Raise the signal.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • handle

      public void handle(SignalUtil.Signal s)
      Handler for the JVM API for signal handling.
      Specified by:
      handle in interface SignalUtil.Handler
      Parameters:
      s - signal raised
    • getSignalCount

      public int getSignalCount()
      Get the count of how many times a signal has been raised.
      Returns:
      the count of signals