fcntl でロック

unix 系で record lock をやるときには fcntl を使ったりするわけです.
当然 Java の FileChannel.lock とかもそれに依存しているわけで.
でも...

このインタフェースは、System V と IEEE Std 1003.1-1988 (``POSIX.1'') が要
求する不毛なセマンティクスに完全に従っています。つまり、あるプロセスが保
持している、あるファイルと結び付けられたすべてのロックは、そのファイルの
記述子のいずれかがそのプロセスによってクローズされたときに解除されます。
FreeBSD-8.0 日本語 man - fcntl

こんな仕様だったりします.ま た S y s V か


で,Java の FileChannel.lock.
Windows では LockFileEx を使って排他ロックとして,
Linux ではこの fcntl を使ってアドバイザリロックとして実装されているみたいです.
でも,Java6 では改心したのか,Linux でも排他ロックがサポートされてるみたい.


まあ,結論から言えば,thead-level の fcntl を誰か実装してくれないかなぁと.
いや,別に C で書いてる分には fork すればおしまいなのでそれでいいのですが,
tomcat とかに乗っけようとするとこれがないと糞の役にも立たんのですよ.
うにゅー