diff options
author | Dmitry Stogov <dmitry@zend.com> | 2016-06-20 14:58:42 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2016-06-20 14:58:42 +0300 |
commit | c8706331b5511397bee28c676d98672383222f2f (patch) | |
tree | b6b69b067b396d08f03f7a213d2b6bde89cc1ad9 /Zend/zend_signal.c | |
parent | 3abd9c34c1e7249db92014a82b4430393c53928c (diff) | |
download | php-git-c8706331b5511397bee28c676d98672383222f2f.tar.gz |
Cleanup zend_signal API
Diffstat (limited to 'Zend/zend_signal.c')
-rw-r--r-- | Zend/zend_signal.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Zend/zend_signal.c b/Zend/zend_signal.c index b4f57415d5..40dcd3bb0d 100644 --- a/Zend/zend_signal.c +++ b/Zend/zend_signal.c @@ -48,7 +48,19 @@ #ifdef ZTS ZEND_API int zend_signal_globals_id; #else -zend_signal_globals_t zend_signal_globals; +ZEND_API zend_signal_globals_t zend_signal_globals; +#endif /* not ZTS */ + +#define SIGNAL_BEGIN_CRITICAL() \ + sigset_t oldmask; \ + zend_sigprocmask(SIG_BLOCK, &global_sigmask, &oldmask); +#define SIGNAL_END_CRITICAL() \ + zend_sigprocmask(SIG_SETMASK, &oldmask, NULL); + +#ifdef ZTS +# define zend_sigprocmask(signo, set, oldset) tsrm_sigmask((signo), (set), (oldset)) +#else +# define zend_sigprocmask(signo, set, oldset) sigprocmask((signo), (set), (oldset)) #endif static void zend_signal_handler(int signo, siginfo_t *siginfo, void *context); @@ -338,7 +350,7 @@ static void zend_signal_globals_ctor(zend_signal_globals_t *zend_signal_globals) } /* }}} */ -void zend_signal_init() /* {{{ */ +void zend_signal_init(void) /* {{{ */ { int signo; struct sigaction sa = {{0}}; @@ -360,7 +372,7 @@ void zend_signal_init() /* {{{ */ /* {{{ zend_signal_startup * alloc zend signal globals */ -void zend_signal_startup() +void zend_signal_startup(void) { #ifdef ZTS |