summaryrefslogtreecommitdiff
path: root/Zend/zend_signal.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-06-20 14:58:42 +0300
committerDmitry Stogov <dmitry@zend.com>2016-06-20 14:58:42 +0300
commitc8706331b5511397bee28c676d98672383222f2f (patch)
treeb6b69b067b396d08f03f7a213d2b6bde89cc1ad9 /Zend/zend_signal.c
parent3abd9c34c1e7249db92014a82b4430393c53928c (diff)
downloadphp-git-c8706331b5511397bee28c676d98672383222f2f.tar.gz
Cleanup zend_signal API
Diffstat (limited to 'Zend/zend_signal.c')
-rw-r--r--Zend/zend_signal.c18
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