Кажется, у меня проблема с boost :: interprocess :: file_lock
У меня есть процесс 1, который по существу
boost::interprocess::file_lock test_lock("testfile.csv");
test_lock.lock();
sleep(1000);
test_lock.unlock();
Когда я запускаю второй процесс, когда первый процесс спит, я обнаруживаю, что все еще могу читать testfile.csv. Что еще хуже, я могу даже перезаписать это.
Я неправильно понимаю, как работает file_lock? У меня сложилось впечатление, что вызов .lock () дает ему монопольную блокировку файла и не позволяет другим процессам читать / изменять файл.