From d70a9fef0e88bcfb8b8b9b22ecfd9c0581f70480 Mon Sep 17 00:00:00 2001 From: willsALMANJ Date: Wed, 9 Jan 2019 11:56:09 -0500 Subject: [PATCH] Fix deadlock in safe_bank_fine_grained.py --- src/06-thread-safety/safe_bank_fine_grained.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/06-thread-safety/safe_bank_fine_grained.py b/src/06-thread-safety/safe_bank_fine_grained.py index c786964..876641b 100644 --- a/src/06-thread-safety/safe_bank_fine_grained.py +++ b/src/06-thread-safety/safe_bank_fine_grained.py @@ -91,7 +91,7 @@ def validate_bank(accounts: List[Account], total: int, quiet=False): # with transfer_lock: # current = sum(a.balance for a in accounts) - [a.lock.acquire() for a in accounts] + [a.lock.acquire() for a in sorted(accounts, key=lambda x: id(x))] current = sum(a.balance for a in accounts) [a.lock.release() for a in accounts]