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
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: hewei986532 at sina dot com
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2024 The PHP Group
All rights reserved.
Last updated: Thu Oct 31 23:01:28 2024 UTC