ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

Unix

connect(2)で接続タイムアウト機能を実装したい場合

書きかけ。 基本、APUE-2ndのP563。 If the socket descriptor is in nonblocking mode, which we discuss further in Section 16.8, connect will return -1 with errno set to the special error code EINPROGRESS if the connection can't be established…

flock(),fcntl()とアドバイザリ・ロックについての短いまとめ

flock(), fcntl()とロックについては、本来であれば各コンポーネント - PHP/Perl/BSD/LinuxKernel/glibc などのソースコードを丁寧に追う必要があるが、凡夫はそこの手前で満足する。また、BSD/Linuxについてはflock()によりfork()/dup2()などファイル記述子…

flock(), fcntl()

Xhwlayとか、YakiBikiで使おうと思ってたチケットトークンの扱いで気になってたものの一つに、flockの範囲の扱いがあった。つまるところ、ファイルをどうロックしてどこでアンロックするのが良いのか?という話。