fcntl()
блокировка зависит от процесса. Он позволяет любому потоку одного процесса устанавливать блокировку файла или его части, что предотвращает получение конфликтующих блокировок всеми потоками всех других процессов. Но он не различает разные потоки одного и того же процесса, поэтому его нельзя использовать для поддержки одного потока, исключая другие потоки того же процесса.