summaryrefslogtreecommitdiff
path: root/src/snuffleupagus.c
diff options
context:
space:
mode:
authorBen Fuhrmannek2021-08-07 15:55:48 +0200
committerBen Fuhrmannek2021-08-07 15:55:48 +0200
commite8bb162220ac17cb9b8cc229666356e88f081887 (patch)
tree9718bbc8225d756b612bf282b495b72eb8c49ded /src/snuffleupagus.c
parente399c93db185bfd95ff003dd89e2af49462bf8b6 (diff)
prevent STDERR debug output based on SP_NODEBUG environment variable
Diffstat (limited to 'src/snuffleupagus.c')
-rw-r--r--src/snuffleupagus.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/snuffleupagus.c b/src/snuffleupagus.c
index 2ee94a1..3ad47d5 100644
--- a/src/snuffleupagus.c
+++ b/src/snuffleupagus.c
@@ -75,7 +75,11 @@ ZEND_DLEXPORT zend_extension zend_extension_entry = {
75 75
76static PHP_GINIT_FUNCTION(snuffleupagus) { 76static PHP_GINIT_FUNCTION(snuffleupagus) {
77#ifdef SP_DEBUG_STDERR 77#ifdef SP_DEBUG_STDERR
78 sp_debug_stderr = dup(STDERR_FILENO); 78 if (getenv("SP_NODEBUG")) {
79 sp_debug_stderr = -1;
80 } else {
81 sp_debug_stderr = dup(STDERR_FILENO);
82 }
79#endif 83#endif
80 sp_log_debug("(GINIT)"); 84 sp_log_debug("(GINIT)");
81 snuffleupagus_globals->is_config_valid = SP_CONFIG_NONE; 85 snuffleupagus_globals->is_config_valid = SP_CONFIG_NONE;
@@ -218,8 +222,10 @@ static PHP_GSHUTDOWN_FUNCTION(snuffleupagus) {
218#undef FREE_CFG_ZSTR 222#undef FREE_CFG_ZSTR
219 223
220#ifdef SP_DEBUG_STDERR 224#ifdef SP_DEBUG_STDERR
221 close(sp_debug_stderr); 225 if (sp_debug_stderr >= 0) {
222 sp_debug_stderr = STDERR_FILENO; 226 close(sp_debug_stderr);
227 sp_debug_stderr = STDERR_FILENO;
228 }
223#endif 229#endif
224} 230}
225 231