Enqueues a signal in the event loop of the AsyncSignal owner's thread, which allows a foreign thread to trigger the callback handler safely.
Cleans up underlying resources. This object must be run() again afterwards to be valid
Registers the signal handler in the event loop
Triggers the handler in its local thread
Human-readable string describing the error
Returns the Thread that created this object.
Used to diagnose errors when run() or kill() returns false