diff --git a/common/exechelp-w32.c b/common/exechelp-w32.c index 0600bc555..e7278937b 100644 --- a/common/exechelp-w32.c +++ b/common/exechelp-w32.c @@ -97,7 +97,15 @@ my_error (int errcode) return gpg_err_make (default_errsource, errcode); } - +/* + * get_max_fds, close_all_fds and get_all_open_fds are functions for + * POSIX, not Windows. After fork and before exec on POSIX, those are + * used when spawning a child process so that the child process + * doesn't keep having file descriptors not needed for it. On + * Windows, spawn API has a different semantics (than fork + exec). + */ +#undef EXPORT_UNUSED_FUNCTIONS +#ifdef EXPORT_UNUSED_FUNCTIONS /* Return the maximum number of currently allowed open file descriptors. Only useful on POSIX systems but returns a value on other systems too. */ @@ -178,7 +186,7 @@ get_all_open_fds (void) #endif /*HAVE_STAT*/ return array; } - +#endif /* Helper function to build_w32_commandline. */ static char * diff --git a/common/exechelp.h b/common/exechelp.h index 1240fde33..4348c54d1 100644 --- a/common/exechelp.h +++ b/common/exechelp.h @@ -31,6 +31,7 @@ #define GNUPG_COMMON_EXECHELP_H +#ifndef HAVE_W32_SYSTEM /* Return the maximum number of currently allowed file descriptors. Only useful on POSIX systems. */ int get_max_fds (void); @@ -49,6 +50,7 @@ void close_all_fds (int first, int *except); use of this function right at startup even before libgcrypt has been initialized. Returns NULL on error and sets ERRNO accordingly. */ int *get_all_open_fds (void); +#endif /* Portable function to create a pipe. Under Windows the write end is