summaryrefslogtreecommitdiffstats
path: root/polyp/mainloop-signal.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-08-17 13:28:52 +0000
committerLennart Poettering <lennart@poettering.net>2004-08-17 13:28:52 +0000
commitbee750bbb3d9d7a64fa7f344ab42cdcfcb280a7e (patch)
tree65fa186106a07d71a74d5b347bc7b8a8e0e23b60 /polyp/mainloop-signal.h
parentaff43ddabb87903823805ec49533cb99fb1aa771 (diff)
create native-common-internal.h
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@131 fefdeb5f-60dc-0310-8127-8f9354f1896f
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