国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

有沒有熟悉Swow的大神,幫忙解答下,defer沒有按預(yù)期執(zhí)行

ab0029

Swow協(xié)程方案下,defer出現(xiàn)的bug

代碼如下:

    $a = Coroutine::run(function() {
        $obj = 'a';
        defer(function() use (&$obj) {
            // 這里會使用unset會直接把PHP都奔潰,使用$obj = null;則不會
            // 這里主要是清理內(nèi)存
            unset($obj);
            var_dump(Coroutine::getCurrent()->isAlive(), 'defer1', $obj);
            sleep(1);
            var_dump('defer1------');
        });

        sleep(10);

        echo '111';
    });

    Coroutine::run(function() use ($a) {
        $a->kill();
    });

    $time = microtime(true);

    \Swow\Sync\waitAll();
    sleep(2);
    var_dump(microtime(true) - $time);

手動kill A協(xié)程后,defer函數(shù)執(zhí)行了,發(fā)現(xiàn)如下情況
1,里面檢測到協(xié)程是存活狀態(tài)
2,var_dump('defer1------'); 這段沒有執(zhí)行
3,defer里面unset直接把php搞奔潰了

這種算不算bug??

540 3 0
3個回答

喵了個咪

這得問swow官方

  • ab0029 2025-02-21

    去提交了https://github.com/swow/swow/issues/267

SillyDog

截圖
沒復(fù)現(xiàn)

  • ab0029 2025-02-21

    defer1--- 沒輸出

  • ab0029 2025-02-21

    可能我是window環(huán)境下執(zhí)行的

  • SillyDog 2025-02-21

    估計還是win下兼容性問題 看看作者怎么說吧

SillyDog

截圖
因為被kill掉了啊

  • ab0029 2025-02-21

    正常不應(yīng)該defer都兜底了,里面的代碼應(yīng)該都能執(zhí)行完才對呀

  • ab0029 2025-02-21

    使用usleep(1); 也一樣的。一阻塞就不往下執(zhí)行了

  • SillyDog 2025-02-21

    對的 我去問一下

??