--TEST-- Test Imagick, progressMonitor --SKIPIF-- --FILE-- 20) { $status = "Processing cancelled"; return false; } $nowTime = time(); $debug .= "$x: nowTime $nowTime - startTime $startTime".PHP_EOL; $x++; if ($nowTime - $startTime > 5) { $status = "Processing cancelled"; return false; } return true; }; $imagick = new \Imagick(); $imagick->newPseudoImage(640, 480, "magick:logo"); $imagick->setProgressMonitor($callback); try { $imagick->charcoalImage($radius, $sigma); $bytes = $imagick->getImageBlob(); echo "Progress monitor failed to interrupt.".PHP_EOL; echo $debug; } catch(\Exception $e) { echo $status.PHP_EOL; } ?> --EXPECTF-- Processing cancelled