ruby 1.8.2 (2004-12-25) [i386-mswin32]で、

t = Thread.start {
lf = File.open('lockfile', 'w')
lf.flock(File::LOCK_EX)
lf.flock(File::LOCK_UN)
}.join

というスクリプトを flock_test.rb という名前で保存して実行すると、

> flock_test.rb:6:in `flock': Invalid argument - lockfile (Errno::EINVAL)

ってなるんだけどそういうもの?

エラーになっている行は lf.flock(File::LOCK_UN) なんだけど。