Create a SignalSource that will be dispatched upon delivery of the UNIX
In GLib versions before 2.36, only `SIGHUP`, `SIGINT`, `SIGTERM` can be monitored. In GLib 2.36, `SIGUSR1` and `SIGUSR2` were added. In GLib 2.54, `SIGWINCH` was added.
Note that unlike the UNIX default, all sources which have created a watch will be dispatched, regardless of which underlying thread invoked SignalSource.
For example, an effective use of this function is to handle `SIGTERM` cleanly; flushing any outstanding files, and then calling g_main_loop_quit (). It is not safe to do any of this a regular UNIX signal handler; your handler may be invoked while malloc or another library function is running, causing reentrancy if you attempt to use it from the handler. None of the GLib/GObject API is safe against this kind of reentrancy.
The interaction of this source when combined with native UNIX functions like sigprocmask is not defined.
A signal number
A newly created SignalSource