[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/07 21:19 / Filesize : 272 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 5



1 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 21:46:50.27 ID:e/4BOK4y.net]
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1457792733/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

734 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 13:06:26.58 ID:0JopogCG.net]
そもそもflockシステムコールはもともとマニュアルに書いてあるように

flock() によって作られるロックは、 オープンファイル記述 (open file description) (open(2) 参照) と
関連付けられる。 したがって、ファイルディスクリプターの複製 (fork(2) や dup(2) などにより作成
される) は同じロックを参照し、 これらのファイルディスクリプターのどれを使っても このロックを
変更したり解放したりできる。 また、ロックの解放は、 上記の複数のファイルディスクリプターの
いずれかに対して 明示的に LOCK_UN 操作を指示した場合か、これらのファイルディスクリプターが
すべて 閉じられた場合に行われる

というもので、phpのfclose関数の中でわざわざLOCK_UNしてたのは余計なお世話
で本来の動作を阻害していたから5.3.2でやめたって理解でいいんだろうか。

735 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 13:26:47.31 ID:4xmbllsr.net]
>>730
うん、よくよく考えると
> というもので、phpのfclose関数の中でわざわざLOCK_UNしてたのは余計なお世話
ということが正しいと思う。
元々マルチプロセスなプログラミングで自動で複製されるファイルディスクリプタの扱いはプログラマが意識する必要があって、複製の後始末をせずにロックが残ることがあるのはそもそも設計ミス。
こういうことをフォローするために PHP では fclose でのついでに自動でアンロックが走るようにしていたけど、そうると親子プロセスの一方で不要になったディスクリプタを閉じただけでロックまで外れちゃうという問題を引き起こす。
だったらリソースの管理はやっぱりプログラマに任せるって判断が妥当なんだろう。
互換性の点でも、そもそもディスクリプタの複製が行われるケース(






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef