Issue #11618: Fix the timeout logic in threading.Lock.acquire() under
Windows.
diff --git a/Lib/test/lock_tests.py b/Lib/test/lock_tests.py
index b6d818e..005c912 100644
--- a/Lib/test/lock_tests.py
+++ b/Lib/test/lock_tests.py
@@ -213,6 +213,16 @@
         lock.acquire()
         lock.release()
 
+    def test_state_after_timeout(self):
+        # Issue #11618: check that lock is in a proper state after a
+        # (non-zero) timeout.
+        lock = self.locktype()
+        lock.acquire()
+        self.assertFalse(lock.acquire(timeout=0.01))
+        lock.release()
+        self.assertFalse(lock.locked())
+        self.assertTrue(lock.acquire(blocking=False))
+
 
 class RLockTests(BaseLockTests):
     """