Edit report at https://bugs.php.net/bug.php?id=63171&edit=1
ID: 63171 Comment by: r...@php.net Reported by: r...@php.net Summary: Script hangs after max_execution_time Status: Open Type: Bug Package: ODBC related Operating System: GNU/Linux PHP Version: 5.4.7 Block user comment: N Private report: N New Comment: Please, review https://github.com/php/php-src/pull/207 Pull request against 5.4, but could apply to all branches, 5.3, 5.4 and master. Previous Comments: ------------------------------------------------------------------------ [2012-09-27 11:36:19] r...@php.net Description: ------------ As unixODBC functions are not async-signal-safe, nor safe to be longjmp'ed out, If a timeout occurs during an odbc calls, with a lock set, the PHP script will hangs. I have a patch proposal, will submit a pull request. Test script: --------------- <?php ini_set('max_execution_time', '1'); $db = odbc_connect('MySQL-test', 'root', ''); if (!$db) { print "failed to connect\n"; } else { while(true) { echo "."; $result = odbc_exec($db, 'SELECT * FROM mysql.user'); } } Expected result: ---------------- $ php test.php ............................................................................. ............................................................................. ............................................................................. ............................................................................. ............................................................................. ....PHP Fatal error: Maximum execution time of 1 second exceeded in /home/rcollet/git/php/php/Regression/bz594813-ODBC-execution-timeout-hang/bz594813.php on line 10 $ Actual result: -------------- Same output, but script hangs, need to be killed. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=63171&edit=1