php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #68511 execution sequence is wrong on the ISAPI
Submitted: 2014-11-27 02:01 UTC Modified: 2014-12-01 02:37 UTC
From: hewei986532 at sina dot com Assigned:
Status: Not a bug Package: pthreads (PECL)
PHP Version: 5.4Git-2014-11-27 (Git) OS: centos
Private report: No CVE-ID: None
 [2014-11-27 02:01 UTC] hewei986532 at sina dot com
Description:
------------
The result is wrong when access test script which is Similar to the Singleton.php example file  In the browser to access .Then it's correct on the cli.


Pthread is a great progress for phper。

Test script:
---------------
<?php

class test {
    public static function hello()
    {
        return true;
    }
}

if (test::hello()) {
    printf("...1\n");
    if (test::hello()) {
        printf("...2\n");
    }
}

class UserThread extends Thread {

    public function run () {
        if (test::hello()) {
            printf("...3\n");
            if (test::hello()) {
                printf("...4\n");
            }
        }


    }
}
$thread = new UserThread();
$thread->start();

Expected result:
----------------
...1 ...2 ...3 ...4 

Actual result:
--------------
...3 ...4 ...1 ...2 

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-11-30 14:44 UTC] krakjoe@php.net
-Status: Open +Status: Not a bug
 [2014-11-30 14:44 UTC] krakjoe@php.net
Your code doesn't do anything to control the order of output or execution, there are two output buffers being used and it's being left down to the system when to flush them. and when to execute the threads.

Executing user threads inside a web SAPI is not advisable, partly because of the lack of control over output buffers, but mostly because of the inherent problem with scaling threads created by user code as the result of a web request.
 [2014-12-01 02:37 UTC] hewei986532 at sina dot com
Will be correct order of output or execution if doesn't do anything, in future?Have any plans for it? tks
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun Feb 17 01:01:25 2019 UTC