Show More
@@ -29,14 +29,13 b' class lock(object):' | |||
|
29 | 29 | # old-style lock: symlink to pid |
|
30 | 30 | # new-style lock: symlink to hostname:pid |
|
31 | 31 | |
|
32 | _host = None | |
|
33 | ||
|
32 | 34 | def __init__(self, file, timeout=-1, releasefn=None, desc=None): |
|
33 | 35 | self.f = file |
|
34 | 36 | self.held = 0 |
|
35 | 37 | self.timeout = timeout |
|
36 | 38 | self.releasefn = releasefn |
|
37 | self.id = None | |
|
38 | self.host = None | |
|
39 | self.pid = None | |
|
40 | 39 | self.desc = desc |
|
41 | 40 | self.lock() |
|
42 | 41 | |
@@ -59,13 +58,12 b' class lock(object):' | |||
|
59 | 58 | inst.locker) |
|
60 | 59 | |
|
61 | 60 | def trylock(self): |
|
62 |
if |
|
|
63 |
|
|
|
64 | self.pid = os.getpid() | |
|
65 | self.id = '%s:%s' % (self.host, self.pid) | |
|
61 | if lock._host is None: | |
|
62 | lock._host = socket.gethostname() | |
|
63 | lockname = lock._host + ':' + str(os.getpid()) | |
|
66 | 64 | while not self.held: |
|
67 | 65 | try: |
|
68 |
util.makelock( |
|
|
66 | util.makelock(lockname, self.f) | |
|
69 | 67 | self.held = 1 |
|
70 | 68 | except (OSError, IOError), why: |
|
71 | 69 | if why.errno == errno.EEXIST: |
@@ -93,7 +91,7 b' class lock(object):' | |||
|
93 | 91 | host, pid = locker.split(":", 1) |
|
94 | 92 | except ValueError: |
|
95 | 93 | return locker |
|
96 |
if host != |
|
|
94 | if host != lock._host: | |
|
97 | 95 | return locker |
|
98 | 96 | try: |
|
99 | 97 | pid = int(pid) |
General Comments 0
You need to be logged in to leave comments.
Login now