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

Reply via email to