1. 程式人生 > >swoole_process原始碼解析之物件析構

swoole_process原始碼解析之物件析構

swoole_process提供了__destruct方法,用於釋放swoole內部物件資源,這個會在swoole_process物件釋放時呼叫。

我們看下其流程。

static PHP_METHOD(swoole_process, __destruct)
{
    swWorker *process = swoole_get_object(getThis());//獲取swoole內部對應的物件swWorker
    swPipe *_pipe = process->pipe_object;//獲取物件管道資訊
    if (_pipe)//管道不為空,則關閉管道和執行記憶體空間釋放動作
    {
        _pipe->close(_pipe);
        efree(_pipe);
    }

    if (process->queue)//開啟了訊息佇列
    {
        efree(process->queue);//釋放訊息佇列空間
    }

    efree(process);//釋放swWorker物件空間資訊
}