lightning: less junk on console, quicker shutdown
This commit is contained in:
parent
155f62f7d4
commit
f5e3da3e56
@ -1914,7 +1914,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||
console.updateNamespace({'wallet' : self.wallet,
|
||||
'network' : self.network,
|
||||
'plugins' : self.gui_object.plugins,
|
||||
'lightning' : self.gui_object.lightning,
|
||||
'l' : self.gui_object.lightning,
|
||||
'window': self})
|
||||
console.updateNamespace({'util' : util, 'bitcoin':bitcoin})
|
||||
|
||||
|
||||
@ -598,7 +598,7 @@ class LightningRPC:
|
||||
self.subscribers = []
|
||||
# overridden
|
||||
async def run(self, netAndWalLock):
|
||||
while True:
|
||||
while asyncio.get_event_loop().is_running():
|
||||
try:
|
||||
qitem = self.queue.get(block=False)
|
||||
except queue.Empty:
|
||||
@ -681,7 +681,7 @@ class LightningWorker:
|
||||
|
||||
wasAlreadyUpToDate = False
|
||||
|
||||
while True:
|
||||
while asyncio.get_event_loop().is_running():
|
||||
WALLET = self.wallet()
|
||||
NETWORK = self.network()
|
||||
CONFIG = self.config()
|
||||
@ -704,7 +704,7 @@ class LightningWorker:
|
||||
writer.write(b"MAGIC")
|
||||
writer.write(privateKeyHash[:6])
|
||||
await asyncio.wait_for(writer.drain(), 5)
|
||||
while True:
|
||||
while asyncio.get_event_loop().is_running():
|
||||
obj = await readJson(reader)
|
||||
if not obj: continue
|
||||
if "id" not in obj:
|
||||
@ -721,13 +721,12 @@ class LightningWorker:
|
||||
|
||||
async def readJson(reader):
|
||||
data = b""
|
||||
while True:
|
||||
while asyncio.get_event_loop().is_running():
|
||||
newlines = sum(1 if x == b"\n"[0] else 0 for x in data)
|
||||
if newlines > 1: print("Too many newlines in Electrum/lightning.py!", data)
|
||||
try:
|
||||
return json.loads(data)
|
||||
except ValueError:
|
||||
if data != b"": print("parse failed, data has", data)
|
||||
try:
|
||||
data += await asyncio.wait_for(reader.read(1), 1)
|
||||
except TimeoutError:
|
||||
|
||||
@ -1052,9 +1052,11 @@ class Network(util.DaemonThread):
|
||||
networkAndWalletLock.release()
|
||||
networkAndWalletLock.acquire()
|
||||
loop.stop()
|
||||
while loop.is_running():
|
||||
pass
|
||||
loop.close()
|
||||
if loop.is_running(): time.sleep(0.1)
|
||||
try:
|
||||
loop.close()
|
||||
except:
|
||||
pass
|
||||
self.stop_network()
|
||||
self.on_stop()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user