UnixUtils.signalSourceNew

Create a #GSource that will be dispatched upon delivery of the UNIX signal @signum. In GLib versions before 2.36, only SIGHUP, SIGINT, SIGTERM can be monitored. In GLib 2.36, SIGUSR1 and SIGUSR2 were added.

Note that unlike the UNIX default, all sources which have created a watch will be dispatched, regardless of which underlying thread invoked g_unix_signal_source_new().

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.

The source will not initially be associated with any #GMainContext and must be added to one with g_source_attach() before it will be executed.

struct UnixUtils
static
signalSourceNew
(
int signum
)

Parameters

signum int

A signal number

Return: A newly created #GSource

Meta

Since

2.30