]> granicus.if.org Git - php/commit
Fix Zend signals unblocking
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 23 Jul 2019 08:38:23 +0000 (10:38 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 29 Jul 2019 13:17:32 +0000 (15:17 +0200)
commit38f1288b6427fc9e2fa2b5ad9912745ded923ee7
tree65df8f768367df986838b6dc72dfd7a33ee59c79
parent68fd435ba81e0208d30218b0558cccbf76b85e49
Fix Zend signals unblocking

There are a few parts here:
 * opcache should not be blocking signals while invoking compile_file,
   otherwise signals may remain blocked on a compile error. While at
   it, also protect SHM memory during compile_file.
 * We should deactivate Zend signals at the end of the request, to make
   sure that we gracefully recover from a missing unblock and signals
   don't remain blocked forever.
 * We don't use a critical section in deactivation, because it should
   not be necessary. Additionally we want to clean up the signal queue,
   if it is non-empty.
 * Enable SIGG(check) in debug builds so we notice issues in the future.
Zend/zend_signal.c
ext/opcache/ZendAccelerator.c
main/main.c