Skip to content

Commit 34bf511

Browse files
authored
Support build with disabled zend signals (#2886)
I seem to have taken care about the globals, but missed zend_signal_handler_unblock. Signed-off-by: Bob Weinand <[email protected]>
1 parent 6751be9 commit 34bf511

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

dockerfiles/verify_packages/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,11 @@ test_alpine_install_no_ext_curl_yes_curl_cli.sh \
128128
@echo "################### $(@) ###################"
129129
docker run --rm -ti -v $(shell pwd)/../../:/app --env-file $(shell pwd)/.env -e CIRCLECI --workdir=/app alpine:3.13 sh dockerfiles/verify_packages/installer/$(@)
130130

131+
test_alpine_zts_no_zend_signals.sh \
132+
: global_test_dependencies
133+
@echo "################### $(@) ###################"
134+
docker run --rm -ti -v $(shell pwd)/../../:/app --env-file $(shell pwd)/.env -e CIRCLECI --workdir=/app dunglas/frankenphp:php8.3.12-alpine sh dockerfiles/verify_packages/installer/$(@)
135+
131136
test_alpine_no_libexecinfo.sh: global_test_dependencies
132137
@echo "################### $(@) ###################"
133138
docker run --rm -ti -v $(shell pwd)/../../:/app --env-file $(shell pwd)/.env -e CIRCLECI --workdir=/app php:7.4-cli-alpine sh dockerfiles/verify_packages/installer/$(@)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env sh
2+
3+
set -e
4+
5+
. "$(dirname ${0})/utils.sh"
6+
7+
apk add libgcc
8+
9+
# Initially no ddtrace
10+
assert_no_ddtrace
11+
12+
# Install using the php installer
13+
version=$(cat VERSION)
14+
php ./build/packages/datadog-setup.php --enable-profiling --php-bin php
15+
assert_ddtrace_version "${version}"
16+
assert_profiler_version "${version}"
17+
assert_appsec_version "${version}"
18+
19+
assert_sources_path_exists

ext/threads.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#include "threads.h"
22
#define zend_signal_globals_id zend_signal_globals_id_dummy
33
#define zend_signal_globals_offset zend_signal_globals_offset_dummy
4+
#define zend_signal_handler_unblock zend_signal_handler_unblock_dummy
45
#include <Zend/zend.h>
56
#undef zend_signal_globals_id
67
#undef zend_signal_globals_offset
8+
#undef zend_signal_handler_unblock
79
#include "ddtrace.h"
810

911
#if ZTS
@@ -18,6 +20,8 @@ extern __attribute__((weak, weak_import)) size_t zend_signal_globals_offset;
1820
__attribute__((weak)) int zend_signal_globals_id;
1921
__attribute__((weak)) size_t zend_signal_globals_offset;
2022
#endif
23+
24+
__attribute__((weak)) void zend_signal_handler_unblock(void);
2125
#endif
2226

2327
HashTable ddtrace_tls_bases; // map thread id to TSRMLS_CACHE

0 commit comments

Comments
 (0)