summaryrefslogtreecommitdiffstats
path: root/src/util/child_common.h
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2013-08-30 10:56:04 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-08-30 14:14:35 +0200
commit0e9563e10a023092b6086a673a266323e9b1d603 (patch)
treedac5982a696d32dd451a99d40bdc63c9ef7fcdb3 /src/util/child_common.h
parent3dc0400cf25f23b4947340ca591e4a15b89ca331 (diff)
downloadsssd-0e9563e10a023092b6086a673a266323e9b1d603.tar.gz
sssd-0e9563e10a023092b6086a673a266323e9b1d603.tar.xz
sssd-0e9563e10a023092b6086a673a266323e9b1d603.zip
SIGCHLD handler: do not call callback when pvt data was freed
https://fedorahosted.org/sssd/ticket/1992
Diffstat (limited to 'src/util/child_common.h')
-rw-r--r--src/util/child_common.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/util/child_common.h b/src/util/child_common.h
index 237969f2f..95865bb52 100644
--- a/src/util/child_common.h
+++ b/src/util/child_common.h
@@ -78,9 +78,15 @@ typedef void (*sss_child_callback_t)(int child_status,
struct tevent_signal *sige,
void *pvt);
+struct sss_child_ctx_old;
+
/* Set up child termination signal handler */
int child_handler_setup(struct tevent_context *ev, int pid,
- sss_child_callback_t cb, void *pvt);
+ sss_child_callback_t cb, void *pvt,
+ struct sss_child_ctx_old **_child_ctx);
+
+/* Destroy child termination signal handler */
+void child_handler_destroy(struct sss_child_ctx_old *ctx);
/* Async communication with the child process via a pipe */
struct tevent_req *write_pipe_send(TALLOC_CTX *mem_ctx,