]> granicus.if.org Git - php/commitdiff
Fixes #72590: Opcache restart with kill_all_lockers does not work
authorKeyur <kgovande@etsy.com>
Wed, 13 Jul 2016 02:47:46 +0000 (02:47 +0000)
committerJulien Pauli <jpauli@php.net>
Mon, 5 Sep 2016 14:59:28 +0000 (16:59 +0200)
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.

ext/opcache/ZendAccelerator.c

index 418b4a3add18fd2125ebdff9d08f47959feeedc8..985a4efac08e1d3f49fcd91a4de9d325472bfb12 100644 (file)
@@ -602,7 +602,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;
                        }
@@ -615,7 +615,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 */
                }