diff options
author | Xinchen Hui <laruence@php.net> | 2011-10-16 03:00:51 +0000 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2011-10-16 03:00:51 +0000 |
commit | 077519d3fbe3aca87f392993c81f526ef2c6b635 (patch) | |
tree | 81ec7e6d18742c7cd1c7e63e2a7b5ab1f78525a3 | |
parent | 50339d8cf130db612ef90a29a3be00bf77868bf4 (diff) | |
download | php-git-077519d3fbe3aca87f392993c81f526ef2c6b635.tar.gz |
Fixed bug #60038 (SIGALRM cause segfault in php_error_cb)
-rw-r--r-- | main/main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/main/main.c b/main/main.c index 67d2ff1b1e..cc7c078539 100644 --- a/main/main.c +++ b/main/main.c @@ -900,6 +900,9 @@ static void php_error_cb(int type, const char *error_filename, const uint error_ /* store the error if it has changed */ if (display) { +#ifdef ZEND_SIGNALS + HANDLE_BLOCK_INTERRUPTIONS(); +#endif if (PG(last_error_message)) { free(PG(last_error_message)); PG(last_error_message) = NULL; @@ -908,6 +911,9 @@ static void php_error_cb(int type, const char *error_filename, const uint error_ free(PG(last_error_file)); PG(last_error_file) = NULL; } +#ifdef ZEND_SIGNALS + HANDLE_UNBLOCK_INTERRUPTIONS(); +#endif if (!error_filename) { error_filename = "Unknown"; } |