summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavanum Srinivas <davanum@gmail.com>2015-09-07 16:05:56 -0400
committerDavanum Srinivas <davanum@gmail.com>2015-09-07 16:08:41 -0400
commit333cbd39a50e5908136f9270a354ff5d1f6b6956 (patch)
tree2caf1be4cdddd56931c6b5d5ae4add4078c879e6
parentc2a504863979348b552bc054664fef01b3828969 (diff)
downloadlockfile-333cbd39a50e5908136f9270a354ff5d1f6b6956.tar.gz
lockfile.acquire doesn't accept a timeout of 0
Docs indicates that lock.acquire(timeout=0) would not block, but it does (for linklockfile) because 0 is not truthy, and the line: timeout = timeout is not None and timeout or self.timeout when timeout is 0 causes it to default to self.timeout, which by default is None. So rewrite the condition better to take into account that timeout may be set to 0. Closes-Bug: #1468124 Closes-Bug: #1419127 Change-Id: Idf0d00977e79661e1eafd695d6e148e5f27e1840
-rw-r--r--lockfile/linklockfile.py2
-rw-r--r--lockfile/mkdirlockfile.py2
-rw-r--r--lockfile/pidlockfile.py2
-rw-r--r--lockfile/sqlitelockfile.py2
-rw-r--r--lockfile/symlinklockfile.py2
5 files changed, 5 insertions, 5 deletions
diff --git a/lockfile/linklockfile.py b/lockfile/linklockfile.py
index 9c50673..ab5e1f2 100644
--- a/lockfile/linklockfile.py
+++ b/lockfile/linklockfile.py
@@ -19,7 +19,7 @@ class LinkLockFile(LockBase):
except IOError:
raise LockFailed("failed to create %s" % self.unique_name)
- timeout = timeout is not None and timeout or self.timeout
+ timeout = timeout if timeout is not None else self.timeout
end_time = time.time()
if timeout is not None and timeout > 0:
end_time += timeout
diff --git a/lockfile/mkdirlockfile.py b/lockfile/mkdirlockfile.py
index 8d2c801..caf462e 100644
--- a/lockfile/mkdirlockfile.py
+++ b/lockfile/mkdirlockfile.py
@@ -24,7 +24,7 @@ class MkdirLockFile(LockBase):
self.pid))
def acquire(self, timeout=None):
- timeout = timeout is not None and timeout or self.timeout
+ timeout = timeout if timeout is not None else self.timeout
end_time = time.time()
if timeout is not None and timeout > 0:
end_time += timeout
diff --git a/lockfile/pidlockfile.py b/lockfile/pidlockfile.py
index e92f9ea..6d042d7 100644
--- a/lockfile/pidlockfile.py
+++ b/lockfile/pidlockfile.py
@@ -70,7 +70,7 @@ class PIDLockFile(LockBase):
the lock could not be acquired.
"""
- timeout = timeout is not None and timeout or self.timeout
+ timeout = timeout if timeout is not None else self.timeout
end_time = time.time()
if timeout is not None and timeout > 0:
end_time += timeout
diff --git a/lockfile/sqlitelockfile.py b/lockfile/sqlitelockfile.py
index 7dee4a8..734ce03 100644
--- a/lockfile/sqlitelockfile.py
+++ b/lockfile/sqlitelockfile.py
@@ -50,7 +50,7 @@ class SQLiteLockFile(LockBase):
atexit.register(os.unlink, SQLiteLockFile.testdb)
def acquire(self, timeout=None):
- timeout = timeout is not None and timeout or self.timeout
+ timeout = timeout if timeout is not None else self.timeout
end_time = time.time()
if timeout is not None and timeout > 0:
end_time += timeout
diff --git a/lockfile/symlinklockfile.py b/lockfile/symlinklockfile.py
index 57551a3..b5dd71f 100644
--- a/lockfile/symlinklockfile.py
+++ b/lockfile/symlinklockfile.py
@@ -21,7 +21,7 @@ class SymlinkLockFile(LockBase):
# open(self.unique_name, "wb").close()
#except IOError:
# raise LockFailed("failed to create %s" % self.unique_name)
- timeout = timeout is not None and timeout or self.timeout
+ timeout = timeout if timeout is not None else self.timeout
end_time = time.time()
if timeout is not None and timeout > 0:
end_time += timeout