Blame m4/close.m4

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