These functions will be used to deliver asynchronous signals in order to make the signal handling functions more robust. The goal is to keep the same interface to signal handlers.