Browse Source
Merge pull request #3895 from SomberNight/fix_3890
locking in wallet.create_new_address
3.1
ThomasV
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
11 additions and
10 deletions
-
lib/wallet.py
|
|
@ -208,7 +208,7 @@ class Abstract_Wallet(PrintError): |
|
|
|
self.up_to_date = False |
|
|
|
|
|
|
|
# locks: if you need to take multiple ones, acquire them in the order they are defined here! |
|
|
|
self.lock = threading.Lock() |
|
|
|
self.lock = threading.RLock() |
|
|
|
self.transaction_lock = threading.RLock() |
|
|
|
|
|
|
|
self.check_history() |
|
|
@ -1947,6 +1947,7 @@ class Deterministic_Wallet(Abstract_Wallet): |
|
|
|
|
|
|
|
def create_new_address(self, for_change=False): |
|
|
|
assert type(for_change) is bool |
|
|
|
with self.lock: |
|
|
|
addr_list = self.change_addresses if for_change else self.receiving_addresses |
|
|
|
n = len(addr_list) |
|
|
|
x = self.derive_pubkeys(for_change, n) |
|
|
|