>>940
そのコードはダメポ。

せっかく全体をbeginで囲っているんだから、例外的事象(ロック失敗)に対応する
コードはrescueブロックに配置すべき。

そのためには、FileLockDir::lock の中で、ロックに失敗したら例外を投げる
ような仕様にするのがいいと思う。

FileLockDir自体、initialize(ファイル名) にして、lock/unlock に引数が
いらないようにしないと、わざわざインスタンスを生成する意味がないし。