[PHP-users 25023] Re: cli をデーモンとして使用する際の注意
ISIGE, Akira
xia @ silvia.com
2005年 3月 22日 (火) 17:26:16 JST
いしげ です.
> そうなんです。stream_socket_accept()で返ってくるソケットを、
> fclose()しても次に返ってくる値は増えます。実はリソースそのも
> のは開放されていて、数値もじきに元に戻る(?)だったりするとい
> いのですが。
ちょっとソース追ってみました.
この値(リソースID)は,Zend/zend_hash.c で ulong として定義されている
nNextFreeElement の値を使っているようです.
で,この値は,リソースの解放とは無関係にインクリメントする模様です.
ソースをざっと見ると,初期化などのタイミング以外ではプラスされる一方で,
特にオーバフローチェックはしていないように見えます.
リソース値が ulong を超えるというのはそれこそ天が落ちるようなものだと
いうことなのでしょうか……
ともあれ,数値が戻らないからリソースが解放されていない,
というわけではなさそうです.
(oci8の接続とかみたく,実は解放されていないという可能性もゼロではありません
が :-)
--
ISIGE, Akira
PHP-users メーリングリストの案内