From 815cf483683f37c16b0cc9f04916ac0435b423b7 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 1 Dec 2008 12:26:24 +0000 Subject: 26103: use FIFOs rather than FD files for process substititution on Cygwin --- configure.ac | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index f68b1b9bc..762b23130 100644 --- a/configure.ac +++ b/configure.ac @@ -1787,9 +1787,17 @@ dnl be good enough. AH_TEMPLATE([PATH_DEV_FD], [Define to the path of the /dev/fd filesystem.]) AC_CACHE_CHECK(for /dev/fd filesystem, zsh_cv_sys_path_dev_fd, +[if test "$host_os" = cygwin; then +dnl In current (2008/12/01) versions of Cygwin these are present but don't +dnl seem to work smoothly for process substitution; no great surprise +dnl since getting processes to work at all on Cygwin is a big challenge. +dnl We'll rely on FIFOs, since they do what we need. +zsh_cv_sys_path_dev_fd=no +else [for zsh_cv_sys_path_dev_fd in /proc/self/fd /dev/fd no; do test x`echo ok|(exec 3<&0; cat $zsh_cv_sys_path_dev_fd/3 2>/dev/null;)` = xok && break - done]) + done] +fi]) if test x$zsh_cv_sys_path_dev_fd != xno; then AC_DEFINE_UNQUOTED(PATH_DEV_FD, "$zsh_cv_sys_path_dev_fd") fi @@ -1954,10 +1962,13 @@ fi dnl ----------- dnl named FIFOs dnl ----------- +dnl +dnl Named FIFOs work well enough on recent versions of Cygwin +dnl to provide what we want. Simply enable them. AC_CACHE_CHECK(if named FIFOs work, zsh_cv_sys_fifo, [if test "$host_os" = cygwin; then -zsh_cv_sys_fifo=no +zsh_cv_sys_fifo=yes else AC_TRY_RUN([ #include -- cgit 1.4.1