From: Pietro Cerutti <gahr@gahr.ch>
Date: Mon, 3 Apr 2017 08:31:40 +0000 (+0000)
Subject: FreeBSD's closefrom(2) does not return errors
X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=50565982cdd502c3852fcc6f598932bd32b5cdc3

FreeBSD's closefrom(2) does not return errors
---

diff --git a/src/posix-io.c b/src/posix-io.c
index a351806..14856df 100644
--- src/posix-io.c
+++ src/posix-io.c
@@ -473,7 +473,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
            * have closefrom(2) we first figure out the highest fd we
            * do not want to close, then call closefrom, and on success
            * use the regular code to close all fds up to the start
-           * point of closefrom.  Note that Solaris' closefrom does
+           * point of closefrom.  Note that Solaris' and FreeBSD's closefrom do
            * not return errors.  */
 #ifdef HAVE_CLOSEFROM
           {
@@ -482,7 +482,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
               if (fd_list[i].fd > fd)
                 fd = fd_list[i].fd;
             fd++;
-#ifdef __sun
+#if defined(__sun) || defined(__FreeBSD__)
             closefrom (fd);
             max_fds = fd;
 #else /*!__sun */
