From 6c05b35977c9d15da45b4fe6c0c870dbbf51657c Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 29 May 2024 15:14:44 +0900 Subject: Cleaner semantics for _gpgrt_process_spawn without a callback. * src/gpg-error.h.in (@define:struct_spawn_cb_arg@): Remove. (gpgrt_spawn_actions_t): New. (@define:spawn_actions_functions@): New. * src/gpgrt-int.h (_gpgrt_spawn_actions_new) (_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars) (_gpgrt_spawn_actions_set_redirect): New. [HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_handles): New. [!HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_fds) (_gpgrt_spawn_actions_set_atfork): New. (_gpgrt_process_spawn): Use gpgrt_spawn_actions_t. (_gpgrt_spawn_helper): Remove. * src/mkheader.c: Emit gpgrt_spawn_actions_* definition. * src/spawn-posix.c(_gpgrt_spawn_actions_new) (_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars) (_gpgrt_spawn_actions_set_redirect) (_gpgrt_spawn_actions_set_inherit_fds) (_gpgrt_spawn_actions_set_atfork): New. (spawn_detached, _gpgrt_process_spawn): Use gpgrt_spawn_actions_t. (_gpgrt_spawn_helper): Remove. * src/spawn-w32.c: Ditto, with _gpgrt_spawn_actions_set_inherit_handles, but no _gpgrt_spawn_actions_set_atfork. -- GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka --- src/gpg-error.h.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/gpg-error.h.in') diff --git a/src/gpg-error.h.in b/src/gpg-error.h.in index 1589015..d38696a 100644 --- a/src/gpg-error.h.in +++ b/src/gpg-error.h.in @@ -1107,7 +1107,8 @@ void _gpgrt_log_assert (const char *expr, const char *file, int line, #define GPGRT_PROCESS_STREAM_NONBLOCK (1 << 16) typedef struct gpgrt_process *gpgrt_process_t; -@define:struct_spawn_cb_arg@ +typedef struct gpgrt_spawn_actions *gpgrt_spawn_actions_t; +@define:spawn_actions_functions@ enum gpgrt_process_requests { -- cgit v1.2.3