Async::SignalsSourceAsyncSignals

module Signals

Nested

Definitions

def self.controller

The default process-wide signal controller.

Signature

returns Controller

The default signal controller.

Implementation

def self.controller
	CONTROLLER
end

def self.default

The default signal backend for the current context.

Signature

returns Async::Signals | Async::Signals::Ignore

The default signal backend.

Implementation

def self.default
	if ::Thread.current == ::Thread.main
		# TruffleRuby does not currently expose `Fiber.scheduler`:
		unless ::Fiber.respond_to?(:scheduler) && ::Fiber.scheduler
			return self
		end
	end
	
	return Ignore
end

def self.install(handlers, &block)

Install signal handlers using the process-wide signal controller.

Signature

parameter handlers Handlers

The handlers to install.

returns Controller::Registration

The active registration.

Implementation

def self.install(handlers, &block)
	CONTROLLER.install(handlers, &block)
end

def self.reset!

Reset the process-wide signal controller.

Signature

returns void

Implementation

def self.reset!
	CONTROLLER.reset!
end