Ведь если шедулер переключится на другую прогу когда первая не сняла флаг(блокировку) то вторая не получит доступа к файлу. А если вставить nanosleep() в цикле обращения к файлу то работать будет слишком медленно.
Также пытался юзать sched_yield() но ничего понятного не вышло???