From 70007175d28cf4c7323e772683bbe084e62df024 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 7 Sep 2004 17:06:54 +0000 Subject: implemented new CLI command: dump add prefork() and postfork() arguments to pa_context_connect_spawn() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@184 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/polyplib-context.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'polyp/polyplib-context.h') diff --git a/polyp/polyplib-context.h b/polyp/polyplib-context.h index 65befbb3..4b199751 100644 --- a/polyp/polyplib-context.h +++ b/polyp/polyplib-context.h @@ -82,10 +82,16 @@ int pa_context_connect(struct pa_context *c, const char *server); /** Connect the context to a server. If the default server is local * but not accessible, spawn a new daemon. If atfork is not NULL it is * run after the fork() in the child process. It may be used to close - * file descriptors or to do any other cleanups. Make sure that - * SIGCHLD is handled when calling this function. The function will - * waitpid() on the daemon's PID. \since 0.4 */ -int pa_context_connect_spawn(struct pa_context *c, void (*atfork)(void)); + * file descriptors or to do any other cleanups. (It is not safe to + * close all file descriptors unconditionally, since a UNIX socket is + * passed to the new process.) if prefork is not NULL it is run just + * before forking in the parent process. Use this to block SIGCHLD + * handling if required. If postfork is not NULL it is run just after + * forking in the parent process. Use this to unblock SIGCHLD if + * required. The function will waitpid() on the daemon's PID, but + * will not block or ignore SIGCHLD signals, since this cannot be done + * in a thread compatible way. \since 0.4 */ +int pa_context_connect_spawn(struct pa_context *c, void (*atfork)(void), void (*prefork)(void), void (*postfork)(void)); /** Terminate the context connection immediately */ void pa_context_disconnect(struct pa_context *c); -- cgit