aboutsummaryrefslogtreecommitdiffstats
path: root/src/visibility.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2022-10-20 05:23:20 +0000
committerNIIBE Yutaka <[email protected]>2022-10-20 05:23:20 +0000
commit5ad97e8fa62882b2014a67b4e57dab3b37ccaf4c (patch)
tree7741b9acdb2a9c5f596da2e362c01d394d2b0122 /src/visibility.c
parentspawn: Update changes from gnupg. (diff)
downloadlibgpg-error-5ad97e8fa62882b2014a67b4e57dab3b37ccaf4c.tar.gz
libgpg-error-5ad97e8fa62882b2014a67b4e57dab3b37ccaf4c.zip
gpgrt_spawn_process, gpgrt_spawn_process_fd: Change the API.
* src/gpg-error.h.in (gpgrt_spawn_process): Remove PREEXEC argument. (gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. * src/gpgrt-int.h (_gpgrt_spawn_process): Remove PREEXEC argument. (_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. * src/spawn-posix.c (do_exec): Remove PREEXEC argument. (_gpgrt_spawn_process): Remove PREEXEC argument. (_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. (_gpgrt_spawn_process_detached): Follow the change of do_exec. * src/spawn-w32.c (_gpgrt_spawn_process): Remove PREEXEC argument. (_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. * src/visibility.c (gpgrt_spawn_process): Remove PREEXEC argument. (gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG. -- GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'src/visibility.c')
-rw-r--r--src/visibility.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/visibility.c b/src/visibility.c
index fdf4805..831b418 100644
--- a/src/visibility.c
+++ b/src/visibility.c
@@ -1102,19 +1102,23 @@ gpgrt_make_pipe (int filedes[2], estream_t *r_fp, int direction, int nonblock)
gpg_err_code_t
gpgrt_spawn_process (const char *pgmname, const char *argv[],
- int *except, void (*preexec)(void), unsigned int flags,
+ int *except, unsigned int flags,
estream_t *r_infp, estream_t *r_outfp, estream_t *r_errfp,
pid_t *pid)
{
- return _gpgrt_spawn_process (pgmname, argv, except, preexec, flags,
+ return _gpgrt_spawn_process (pgmname, argv, except, flags,
r_infp, r_outfp, r_errfp, pid);
}
gpg_err_code_t
gpgrt_spawn_process_fd (const char *pgmname, const char *argv[],
- int infd, int outfd, int errfd, pid_t *pid)
+ int infd, int outfd, int errfd,
+ void (*after_fork_cb)(void *),
+ void *after_fork_cb_arg,
+ pid_t *pid)
{
- return _gpgrt_spawn_process_fd (pgmname, argv, infd, outfd, errfd, pid);
+ return _gpgrt_spawn_process_fd (pgmname, argv, infd, outfd, errfd,
+ after_fork_cb, after_fork_cb_arg, pid);
}
gpg_err_code_t