Skip to content

Commit 0051b73

Browse files
authored
Autotools: Refactor PHP-FPM /proc/pid filename check (#14949)
- Check wrapped in AC_CACHE_CHECK using php_cv_file_proc_mem variable - CS synced
1 parent 0e2e8e0 commit 0051b73

File tree

1 file changed

+24
-42
lines changed

1 file changed

+24
-42
lines changed

sapi/fpm/config.m4

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -147,20 +147,13 @@ AS_VAR_IF([php_cv_func_mach_vm_read], [yes],
147147
[AC_DEFINE([HAVE_MACH_VM_READ], [1],
148148
[Define to 1 if you have the 'mach_vm_read' function.])])
149149
150-
proc_mem_file=""
150+
AC_CACHE_CHECK([for proc mem file], [php_cv_file_proc_mem],
151+
[AS_IF([test -r /proc/$$/mem], [proc_mem_file=mem],
152+
[test -r /proc/$$/as], [proc_mem_file=as],
153+
[proc_mem_file=])
151154
152-
if test -r /proc/$$/mem ; then
153-
proc_mem_file="mem"
154-
else
155-
if test -r /proc/$$/as ; then
156-
proc_mem_file="as"
157-
fi
158-
fi
159-
160-
if test -n "$proc_mem_file" ; then
161-
AC_MSG_CHECKING([for proc mem file])
162-
163-
AC_RUN_IFELSE([AC_LANG_SOURCE([[
155+
AS_VAR_IF([proc_mem_file],,,
156+
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
164157
#ifndef _GNU_SOURCE
165158
#define _GNU_SOURCE
166159
#endif
@@ -188,35 +181,24 @@ AS_VAR_IF([php_cv_func_mach_vm_read], [yes],
188181
close(fd);
189182
return v1 != v2;
190183
}
191-
]])], [
192-
AC_MSG_RESULT([$proc_mem_file])
193-
], [
194-
proc_mem_file=""
195-
AC_MSG_RESULT([no])
196-
], [
197-
AC_MSG_RESULT([skipped (cross-compiling)])
198-
])
199-
fi
200-
201-
if test -n "$proc_mem_file"; then
202-
AC_DEFINE_UNQUOTED([PROC_MEM_FILE], "$proc_mem_file", [/proc/pid/mem interface])
203-
fi
204-
205-
fpm_trace_type=""
206-
207-
if test "$php_cv_func_ptrace" = "yes"; then
208-
fpm_trace_type=ptrace
209-
210-
elif test -n "$proc_mem_file"; then
211-
fpm_trace_type=pread
184+
]])],
185+
[php_cv_file_proc_mem=$proc_mem_file],
186+
[php_cv_file_proc_mem=],
187+
[php_cv_file_proc_mem=$proc_mem_file])
188+
])
189+
])
212190
213-
elif test "$php_cv_func_mach_vm_read" = "yes" ; then
214-
fpm_trace_type=mach
191+
AS_VAR_IF([php_cv_file_proc_mem],,,
192+
[AC_DEFINE_UNQUOTED([PROC_MEM_FILE], ["$php_cv_file_proc_mem"],
193+
[Define to the /proc/pid/mem interface filename value.])])
215194
216-
else
217-
AC_MSG_WARN([FPM Trace - ptrace, pread, or mach: could not be found])
218-
fi
195+
AS_IF([test "x$php_cv_func_ptrace" = xyes], [fpm_trace_type=ptrace],
196+
[test -n "$php_cv_file_proc_mem"], [fpm_trace_type=pread],
197+
[test "x$php_cv_func_mach_vm_read" = xyes], [fpm_trace_type=mach],
198+
[fpm_trace_type=])
219199
200+
AS_VAR_IF([fpm_trace_type],,
201+
[AC_MSG_WARN([FPM Trace - ptrace, pread, or mach: could not be found])])
220202
])
221203

222204
AC_DEFUN([PHP_FPM_BUILTIN_ATOMIC],
@@ -549,9 +531,9 @@ if test "$PHP_FPM" != "no"; then
549531

550532
SAPI_FPM_PATH=sapi/fpm/php-fpm
551533

552-
if test "$fpm_trace_type" && test -f "$abs_srcdir/sapi/fpm/fpm/fpm_trace_$fpm_trace_type.c"; then
553-
PHP_FPM_TRACE_FILES="fpm/fpm_trace.c fpm/fpm_trace_$fpm_trace_type.c"
554-
fi
534+
AS_VAR_IF([fpm_trace_type],,,
535+
[AS_IF([test -f "$abs_srcdir/sapi/fpm/fpm/fpm_trace_$fpm_trace_type.c"],
536+
[PHP_FPM_TRACE_FILES="fpm/fpm_trace.c fpm/fpm_trace_$fpm_trace_type.c"])])
555537

556538
PHP_FPM_CFLAGS="-I$abs_srcdir/sapi/fpm -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
557539

0 commit comments

Comments
 (0)