diff options
| author | Sascha Schumann <sas@php.net> | 2000-05-23 15:13:16 +0000 |
|---|---|---|
| committer | Sascha Schumann <sas@php.net> | 2000-05-23 15:13:16 +0000 |
| commit | 2aaa538aef24cd8140ff6aa80e544978dd7035fd (patch) | |
| tree | 1aa8491f80a1d81bb80ca0f118b19f98e5b21163 /acinclude.m4 | |
| parent | be6afb3fccd20f2b0fab5816bc05362fb7e0326f (diff) | |
| download | php-git-2aaa538aef24cd8140ff6aa80e544978dd7035fd.tar.gz | |
Use reentrant version of readdir. If the target platform does not support
the POSIX-like readdir_r, we fall back to readdir. In ZTS mode, this will
cause php_readdir_r calls to be serialized.
Diffstat (limited to 'acinclude.m4')
| -rw-r--r-- | acinclude.m4 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index fea266109e..4982bbb3e2 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -4,6 +4,36 @@ dnl This file contains local autoconf functions. sinclude(dynlib.m4) +AC_DEFUN(PHP_POSIX_READDIR_R,[ + AC_CACHE_CHECK(for type of readdir_r, ac_cv_what_readdir_r,[ + AC_TRY_RUN([ +#include <sys/types.h> +#include <dirent.h> + +main() { + DIR *dir; + struct dirent entry, *pentry; + + dir = opendir("/"); + if (!dir) + exit(1); + if (readdir_r(dir, &entry, &pentry) == 0) + exit(0); + exit(1); +} + ],[ + ac_cv_what_readdir_r=POSIX + ],[ + ac_cv_what_readdir_r=none + ],[ + ac_cv_what_readdir_r=none + ]) + ]) + if test "$ac_cv_what_readdir_r" = "POSIX"; then + AC_DEFINE(HAVE_POSIX_READDIR_R,1,[whether you have POSIX readdir_r]) + fi +]) + AC_DEFUN(PHP_SHLIB_SUFFIX_NAME,[ PHP_SUBST(SHLIB_SUFFIX_NAME) SHLIB_SUFFIX_NAME=so |
