Author: Armin Rigo <[email protected]>
Branch:
Changeset: r60783:95de7278a36c
Date: 2013-01-31 17:58 +0100
http://bitbucket.org/pypy/pypy/changeset/95de7278a36c/
Log: Fix the docstring (bogus on CPython too, reported). Test the real
behavior.
diff --git a/pypy/module/thread/os_lock.py b/pypy/module/thread/os_lock.py
--- a/pypy/module/thread/os_lock.py
+++ b/pypy/module/thread/os_lock.py
@@ -38,10 +38,10 @@
@unwrap_spec(waitflag=int)
def descr_lock_acquire(self, space, waitflag=1):
- """Lock the lock. Without argument, this blocks if the lock is already
-locked (even by the same thread), waiting for another thread to release
-the lock, and return None once the lock is acquired.
-With an argument, this will only block if the argument is true,
+ """Lock the lock. With the default argument of True, this blocks
+if the lock is already locked (even by the same thread), waiting for
+another thread to release the lock, and returns True once the lock is
+acquired. With an argument of False, this will always return immediately
and the return value reflects whether the lock is acquired.
The blocking operation is not interruptible."""
mylock = self.lock
@@ -113,4 +113,4 @@
def allocate_lock(space):
"""Create a new lock object. (allocate() is an obsolete synonym.)
See LockType.__doc__ for information about locks."""
- return space.wrap(Lock(space))
\ No newline at end of file
+ return space.wrap(Lock(space))
diff --git a/pypy/module/thread/test/test_lock.py
b/pypy/module/thread/test/test_lock.py
--- a/pypy/module/thread/test/test_lock.py
+++ b/pypy/module/thread/test/test_lock.py
@@ -12,7 +12,10 @@
assert lock.locked() is False
raises(thread.error, lock.release)
assert lock.locked() is False
- lock.acquire()
+ r = lock.acquire()
+ assert r is True
+ r = lock.acquire(False)
+ assert r is False
assert lock.locked() is True
lock.release()
assert lock.locked() is False
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit