получение уведомления о запросе эксклюзивной блокировки lockf

#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) сообщит мне только о том, заблокировано ли приложение