##// END OF EJS Templates
lock: add a wrapper to os.getpid() to make testing easier...
Siddharth Agarwal -
r26383:0fceb348 default
parent child Browse files
Show More
@@ -51,7 +51,7 b' class lock(object):'
51 self._parentheld = False
51 self._parentheld = False
52 self._inherited = False
52 self._inherited = False
53 self.postrelease = []
53 self.postrelease = []
54 self.pid = os.getpid()
54 self.pid = self._getpid()
55 self.delay = self.lock()
55 self.delay = self.lock()
56 if self.acquirefn:
56 if self.acquirefn:
57 self.acquirefn()
57 self.acquirefn()
@@ -68,6 +68,10 b' class lock(object):'
68
68
69 self.release()
69 self.release()
70
70
71 def _getpid(self):
72 # wrapper around os.getpid() to make testing easier
73 return os.getpid()
74
71 def lock(self):
75 def lock(self):
72 timeout = self.timeout
76 timeout = self.timeout
73 while True:
77 while True:
@@ -197,7 +201,7 b' class lock(object):'
197 self.held -= 1
201 self.held -= 1
198 elif self.held == 1:
202 elif self.held == 1:
199 self.held = 0
203 self.held = 0
200 if os.getpid() != self.pid:
204 if self._getpid() != self.pid:
201 # we forked, and are not the parent
205 # we forked, and are not the parent
202 return
206 return
203 try:
207 try:
General Comments 0
You need to be logged in to leave comments. Login now