1# close.m4 serial 9 2dnl Copyright (C) 2008-2020 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7AC_DEFUN([gl_FUNC_CLOSE], 8[ 9 AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) 10 m4_ifdef([gl_MSVC_INVAL], [ 11 AC_REQUIRE([gl_MSVC_INVAL]) 12 if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then 13 REPLACE_CLOSE=1 14 fi 15 ]) 16 m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [ 17 gl_PREREQ_SYS_H_WINSOCK2 18 if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then 19 dnl Even if the 'socket' module is not used here, another part of the 20 dnl application may use it and pass file descriptors that refer to 21 dnl sockets to the close() function. So enable the support for sockets. 22 REPLACE_CLOSE=1 23 fi 24 ]) 25 dnl Replace close() for supporting the gnulib-defined fchdir() function, 26 dnl to keep fchdir's bookkeeping up-to-date. 27 m4_ifdef([gl_FUNC_FCHDIR], [ 28 if test $REPLACE_CLOSE = 0; then 29 gl_TEST_FCHDIR 30 if test $HAVE_FCHDIR = 0; then 31 REPLACE_CLOSE=1 32 fi 33 fi 34 ]) 35]) 36