swoole_process原始碼解析之物件析構
阿新 • • 發佈:2018-12-13
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物件空間資訊 }