aboutsummaryrefslogtreecommitdiffstats
path: root/src/posix-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/posix-io.c')
-rw-r--r--src/posix-io.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/posix-io.c b/src/posix-io.c
index b173f58e..6c33d9fc 100644
--- a/src/posix-io.c
+++ b/src/posix-io.c
@@ -305,7 +305,9 @@ _gpgme_io_waitpid (int pid, int hang, int *r_status, int *r_signal)
/* Returns 0 on success, -1 on error. */
int
_gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
- struct spawn_fd_item_s *fd_list, pid_t *r_pid)
+ struct spawn_fd_item_s *fd_list,
+ void (*atfork) (void *opaque, int reserved),
+ void *atforkvalue, pid_t *r_pid)
{
pid_t pid;
int i;
@@ -344,6 +346,9 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
int seen_stdin = 0;
int seen_stderr = 0;
+ if (atfork)
+ atfork (atforkvalue, 0);
+
/* First close all fds which will not be inherited. */
for (fd = 0; fd < max_fds; fd++)
{