summaryrefslogtreecommitdiff
path: root/src/visibility.h
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2022-10-31 11:07:57 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2022-10-31 11:07:57 +0900
commit6c20e8393eba4a9f330143b2158e28ea594cbadd (patch)
treee36258183639ef2df818806168e3ea34351ec89e /src/visibility.h
parent43c1e85fe29a52a9debc068d97c5860a4694b821 (diff)
downloadlibgpg-error-6c20e8393eba4a9f330143b2158e28ea594cbadd.tar.gz
spawn: Fix spawn_cb of gpgrt_spawn_process_fd.
* src/gpg-error.def.in (gpgrt_close_all_fds): New. * src/gpg-error.vers (gpgrt_close_all_fds): New. * src/gpg-error.h.in (GPGRT_SPAWN_INHERIT_FILE): New. (gpgrt_spawn_process_fd): SPAWN_CB having return value. * src/gpgrt-int.h (_gpgrt_spawn_process_fd): SPAWN_CB change. * src/spawn-posix.c (_gpgrt_close_all_fds): Rename from close_all_fds, and export it. (do_exec): Support the case not closing fds. (_gpgrt_spawn_process_fd): Handle return value of SPAWN_CB to determine closing all fds or not. * src/spawn-w32.c (_gpgrt_spawn_process_fd): Run SPAWN_CB. (_gpgrt_close_all_fds): New. * src/visibility.c (gpgrt_close_all_fds): New. * src/visibility.h (gpgrt_close_all_fds): New. -- Now, we have the API of gpgrt_spawn_process_fd for POSIX and Windows. Giving portable semantics for spawning a process is difficult, and it is still difficult for users to writing a function for SPAWN_CB with portability, but gpgrt_spawn_process_fd gives the feature of spawning a process. GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'src/visibility.h')
-rw-r--r--src/visibility.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/visibility.h b/src/visibility.h
index 2819394..a3ed6fc 100644
--- a/src/visibility.h
+++ b/src/visibility.h
@@ -207,6 +207,7 @@ MARK_VISIBLE (gpgrt_wait_process)
MARK_VISIBLE (gpgrt_wait_processes)
MARK_VISIBLE (gpgrt_kill_process)
MARK_VISIBLE (gpgrt_release_process)
+MARK_VISIBLE (gpgrt_close_all_fds)
MARK_VISIBLE (gpgrt_argparse)
MARK_VISIBLE (gpgrt_argparser)
@@ -394,6 +395,7 @@ MARK_VISIBLE (gpgrt_absfnameconcat)
#define gpgrt_wait_processes _gpgrt_USE_UNDERSCORED_FUNCTION
#define gpgrt_kill_process _gpgrt_USE_UNDERSCORED_FUNCTION
#define gpgrt_release_process _gpgrt_USE_UNDERSCORED_FUNCTION
+#define gpgrt_close_all_fds _gpgrt_USE_UNDERSCORED_FUNCTION
#define gpgrt_argparse _gpgrt_USE_UNDERSCORED_FUNCTION
#define gpgrt_argparser _gpgrt_USE_UNDERSCORED_FUNCTION