Blame m4/close.m4

Packit Service 4684c1
# close.m4 serial 9
Packit Service 4684c1
dnl Copyright (C) 2008-2020 Free Software Foundation, Inc.
Packit Service 4684c1
dnl This file is free software; the Free Software Foundation
Packit Service 4684c1
dnl gives unlimited permission to copy and/or distribute it,
Packit Service 4684c1
dnl with or without modifications, as long as this notice is preserved.
Packit Service 4684c1
Packit Service 4684c1
AC_DEFUN([gl_FUNC_CLOSE],
Packit Service 4684c1
[
Packit Service 4684c1
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
Packit Service 4684c1
  m4_ifdef([gl_MSVC_INVAL], [
Packit Service 4684c1
    AC_REQUIRE([gl_MSVC_INVAL])
Packit Service 4684c1
    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
Packit Service 4684c1
      REPLACE_CLOSE=1
Packit Service 4684c1
    fi
Packit Service 4684c1
  ])
Packit Service 4684c1
  m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
Packit Service 4684c1
    gl_PREREQ_SYS_H_WINSOCK2
Packit Service 4684c1
    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
Packit Service 4684c1
      dnl Even if the 'socket' module is not used here, another part of the
Packit Service 4684c1
      dnl application may use it and pass file descriptors that refer to
Packit Service 4684c1
      dnl sockets to the close() function. So enable the support for sockets.
Packit Service 4684c1
      REPLACE_CLOSE=1
Packit Service 4684c1
    fi
Packit Service 4684c1
  ])
Packit Service 4684c1
  dnl Replace close() for supporting the gnulib-defined fchdir() function,
Packit Service 4684c1
  dnl to keep fchdir's bookkeeping up-to-date.
Packit Service 4684c1
  m4_ifdef([gl_FUNC_FCHDIR], [
Packit Service 4684c1
    if test $REPLACE_CLOSE = 0; then
Packit Service 4684c1
      gl_TEST_FCHDIR
Packit Service 4684c1
      if test $HAVE_FCHDIR = 0; then
Packit Service 4684c1
        REPLACE_CLOSE=1
Packit Service 4684c1
      fi
Packit Service 4684c1
    fi
Packit Service 4684c1
  ])
Packit Service 4684c1
])