ファイルの排他制御のテストプログラムを書いています。
ただ単に1つのカウントファイルを100万回インクリメントするプログラム

#!/usr/bin/env python

for i in range(1000000) :
  f = open("count-file", "r+")
  fcntl.flock(f.fileno(), fcntl.LOCK_EX)
  cnt = f.readline()
  cnt = int(cnt) + 1
  f.seek(0)
  f.write("%d\n" % cnt)
  fcntl.flock(f.fileno(), fcntl.LOCK_UN)
  f.close()

を同時に2つ実行するとcount-fileの値が
2000000
になるはずが、
1984329
という風に途中で欠けてしまいます。但し1つ実行する分には正常に動作します。
排他制御がうまくいってないようなのですがどこがいけないのでしょうか。
flockの部分をlockfにしても変化はありません。

OS Gentoo、python 2.5.1