summaryrefslogtreecommitdiffstats
path: root/polyp/mainloop-signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/mainloop-signal.h')
-rw-r--r--polyp/mainloop-signal.h18
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