#python #flock #fcntl
Вопрос:
У меня есть несколько приложений, работающих с общим файлом. Большинство моих приложений запрашивают только простую блокировку, но одно из них запрашивает эксклюзивную блокировку.
в настоящее время блокировка снята таким образом:
import fcntl
lock_type = fcntl.LOCK_EX if exclusive else fcntl.LOCK_SH
fcntl.flock(self.my_file.fileno(), lock_type)
Я хотел бы, чтобы все приложения были уведомлены (с помощью push или pull) о том, что одно приложение запрашивает эксклюзивную блокировку. Обратите внимание, что я хочу знать, запрашивает ли приложение, а не когда приложение получило эксклюзивную блокировку.
Я проверил: dnotify inotify lockf(fd, F_TEST) сообщит мне только о том, заблокировано ли приложение