diff options
Diffstat (limited to 'polyp/mainloop-signal.h')
-rw-r--r-- | polyp/mainloop-signal.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/polyp/mainloop-signal.h b/polyp/mainloop-signal.h index 4dd6c552..0ff20827 100644 --- a/polyp/mainloop-signal.h +++ b/polyp/mainloop-signal.h @@ -27,14 +27,32 @@ PA_C_DECL_BEGIN +/** \file + * UNIX signal support for main loops. In contrast to other + * main loop event sources such as timer and IO events, UNIX signal + * support requires modification of the global process + * environment. Due to this the generic main loop abstraction layer as + * defined in \ref mainloop-api.h doesn't have direct support for UNIX + * signals. However, you may hook signal support into an abstract main loop via the routines defined herein. + */ + +/** Initialize the UNIX signal subsystem and bind it to the specified main loop */ int pa_signal_init(struct pa_mainloop_api *api); + +/** Cleanup the signal subsystem */ void pa_signal_done(void); +/** \struct pa_signal_event + * A UNIX signal event source object */ struct pa_signal_event; +/** Create a new UNIX signal event source object */ struct pa_signal_event* pa_signal_new(int signal, void (*callback) (struct pa_mainloop_api *api, struct pa_signal_event*e, int signal, void *userdata), void *userdata); + +/** Free a UNIX signal event source object */ void pa_signal_free(struct pa_signal_event *e); +/** Set a function that is called when the signal event source is destroyed. Use this to free the userdata argument if required */ void pa_signal_set_destroy(struct pa_signal_event *e, void (*callback) (struct pa_mainloop_api *api, struct pa_signal_event*e, void *userdata)); PA_C_DECL_END |