From 08ea12b8e5590613e62325048784162905425835 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Wed, 4 Aug 2021 10:47:19 +0000 Subject: [PATCH] Daemon: enable attribute locking --- mmgen/daemon.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mmgen/daemon.py b/mmgen/daemon.py index b4808f05..b093afab 100755 --- a/mmgen/daemon.py +++ b/mmgen/daemon.py @@ -30,7 +30,7 @@ _dd = namedtuple('daemon_data',['coind_name','coind_version','coind_version_str' _cd = namedtuple('coins_data',['coin_name','daemon_ids']) _nw = namedtuple('coin_networks',['mainnet','testnet','regtest']) -class Daemon(MMGenObject): +class Daemon(Lockable): desc = 'daemon' debug = False @@ -43,6 +43,7 @@ class Daemon(MMGenObject): private_port = None avail_opts = () avail_flags = () # like opts, but can be added or removed after instantiation + _reset_ok = ('debug','wait','_flags') def __init__(self): self.opts = [] @@ -253,6 +254,7 @@ class RPCDaemon(Daemon): self.rpc_type, getattr(self.proto.network_names,self.proto.network), 'test suite ' if self.test_suite else '' ) + self._set_ok += ('usr_daemon_args',) self.usr_daemon_args = [] @property @@ -325,6 +327,8 @@ class MoneroWalletDaemon(RPCDaemon): ['--stagenet', self.network == 'testnet'], ) + self.lock() + class CoinDaemon(Daemon): networks = ('mainnet','testnet','regtest') cfg_file_hdr = '' @@ -405,6 +409,7 @@ class CoinDaemon(Daemon): super().__init__() + self._set_ok += ('shared_args','usr_coind_args') self.shared_args = [] self.usr_coind_args = [] @@ -463,6 +468,8 @@ class CoinDaemon(Daemon): 'test suite ' if test_suite else '' ) self.subclass_init() + self.lock() + def init_rpc_port(self,test_suite,port_shift): self.port_shift = (1237 if test_suite else 0) + (port_shift or 0) self.rpc_port = getattr(self.rpc_ports,self.network) + self.port_shift