Re: com php-src: Fixes #72590: Opcache restart with kill_all_lockers does not work: ext/opcache/ZendAccelerator.c
| From: | Dmitry Stogov | Date: | Wed, 13 Jul 2016 07:19:27 +0000 |
| Subject: | Re: com php-src: Fixes #72590: Opcache restart with kill_all_lockers does not work: ext/opcache/ZendAccelerator.c | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-92991@lists.php.net to get a copy of this message | ||
Wow! Thanks for catching this!
Actually, I missed when someone changed this into ERROR more than a year ago, and this might be a
reason of many restart related problems.
Dmitry.
________________________________
From: Keyur Govande <keyur@php.net>
Sent: Wednesday, July 13, 2016 6:01:26 AM
To: php-cvs@lists.php.net
Subject: [PHP-CVS] com php-src: Fixes #72590: Opcache restart with kill_all_lockers does not work:
ext/opcache/ZendAccelerator.c
Commit: b512f4a95614891a512b0da674c1a9d22a40869e
Author: Keyur <kgovande@etsy.com> Wed, 13 Jul 2016 02:47:46 +0000
Parents: be77ce37fd3290365a359f7143cc636d66f14cf1
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b512f4a95614891a512b0da674c1a9d22a40869e
Log:
Fixes #72590: Opcache restart with kill_all_lockers does not work
ACCEL_LOG_ERROR is special and causes a zend_bailout() and the code
never gets to call kill() in the next line after the logging. Change
the log level to WARNING.
Bugs:
https://bugs.php.net/72590
Changed paths:
M ext/opcache/ZendAccelerator.c
Diff:
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 2cfe539..f756f37 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -625,7 +625,7 @@ static inline void kill_all_lockers(struct flock *mem_usage_check)
ZCSG(force_restart_time) = 0;
while (mem_usage_check->l_pid > 0) {
while (tries--) {
- zend_accel_error(ACCEL_LOG_ERROR, "Killed locker %d",
mem_usage_check->l_pid);
+ zend_accel_error(ACCEL_LOG_WARNING, "Killed locker %d",
mem_usage_check->l_pid);
if (kill(mem_usage_check->l_pid, SIGKILL)) {
break;
}
@@ -638,7 +638,7 @@ static inline void kill_all_lockers(struct flock *mem_usage_check)
usleep(10000);
}
if (!tries) {
- zend_accel_error(ACCEL_LOG_ERROR, "Can't kill %d after 20
tries!", mem_usage_check->l_pid);
+ zend_accel_error(ACCEL_LOG_WARNING, "Can't kill %d after 10
tries!", mem_usage_check->l_pid);
ZCSG(force_restart_time) = time(NULL); /* restore forced restart request */
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php