ロック用にファイルを1つ作っておいて、
ロック時に rename ってのはダメ?

if( rename( 元ファイル名, ロック中ファイル名 )){
  処理・・・・
}

みたいなのは