Pythonfcntlモジュールを使用してファイルシステムコールを介してロックを行うPythonスクリプトがあります。
このスクリプトは、Ubuntu10.10リリースで正常に機能します。
しかし、Centos 6.2ホストで同じスクリプトを実行すると、スクリプトは次のエラーで爆破します。
* AttributeError:'module'オブジェクトには属性'F_WRLCK'がありません*
実際のコードは次のとおりです。
if Cmd['mode'] == 'r':
lockType = fcntl.F_RDLCK
else:
lockType = fcntl.F_WRLCK
Centosホストでは、スクリプトが最後の行を爆撃します。
なぜfcntlモジュールにはCentos6.2カーネルではF_WRLCK属性がないのに、Ubuntuではあるのですか?
参考までに、Ubuntu10.10とCentos6.2の両方でPython2.6.6が実行されています。
これに対する回避策または解決策はありますか?flockではなくfcntlを使用する必要があります。