2002[...] | 2003[6/1-|6/11-|6/21- | ...]
ネタが見つからない…。
…なので、しょうもない記事ですが(ぉ。
質問は「Windows 95でも排他制御ができるperl」なのですが、これ、アバウトすぎて質問者の真意がいまいちよくわからないんですよね。
ちょっと考えただけでも
と、いろいろ考えられるわけで。
なので、なんの前提条件も示さずに「symlink()が常道」とか書かれると、「ハァ? それはどこの世界の常道ですか?」とツッコミたくなりますな(笑)。しかも“UNIXでは”とか書かれると「それは違うだろ」と。
ふつーflockだよね。Windows 95用のperlでは多分使えないけど(爆)。
あと、極端な例としてロック用のサーバプロセスを作っちゃうってのもあるかも。
重要なのがサーバ側でforkしないこと(笑)。普通のサーバプログラムだと複数のサービスを並行して提供するのが普通なのでforkしちゃいますが、これはそれをしてはいけないのでfork厳禁。
この方法(?)だと、TCPさえ使えればたいていのOSで共通して使えますし、複数のコンピュータ間でロックができて、待ち行列も(listenによって)勝手に実装できてしまうのでかなり便利だと思う。プロセスが勝手に死んだときもTCP層でよきに計らってくれるので人手による調停が不要ですし。
問題はサーバプロセスが死ぬと、二進も三進も行かなくなることかな。
…どこかに大穴があったりして。