From 75643042d76b182826c9b02e701e0c2cc433cedf Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 16 Mar 2012 13:12:18 +1100 Subject: [PATCH] suspend.py: add function to create/lock the 'immediate' file Signed-off-by: NeilBrown --- suspend.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/suspend.py b/suspend.py index 48b2601..d8b236e 100644 --- a/suspend.py +++ b/suspend.py @@ -45,6 +45,7 @@ class monitor: self.suspend = suspend_callback self.resume = resume_callback self.watch = lock_watcher.watch("watching", self.change) + self.immediate_fd = None def getlock(self): # lock file, protecting againt getting IOError when we get signalled. @@ -76,6 +77,19 @@ class monitor: fcntl.flock(old, fcntl.LOCK_UN) old.close() + def immediate(self, on): + if on: + if self.immediate_fd: + return + self.immediate_fd = open('/var/run/suspend/immediate','w') + fcntl.flock(self.immediate_fd, fcntl.LOCK_EX) + return + else: + if not self.immediate_fd: + return + self.immediate_fd.close() + self.immediate_fd = None + blockfd = None def block(): global blockfd -- 2.39.5