Переглянути джерело

Revert removing of `if not self._inner_pipe.poll():`

Aleksandr Borzunov 2 роки тому
батько
коміт
096117046d
2 змінених файлів з 4 додано та 0 видалено
  1. 2 0
      hivemind/averaging/averager.py
  2. 2 0
      hivemind/dht/dht.py

+ 2 - 0
hivemind/averaging/averager.py

@@ -306,6 +306,8 @@ class DecentralizedAverager(mp.Process, ServicerBase):
 
             while True:
                 await pipe_semaphore.acquire()
+                if not self._inner_pipe.poll():
+                    continue
                 try:
                     method, args, kwargs = self._inner_pipe.recv()
                 except (OSError, ConnectionError, RuntimeError) as e:

+ 2 - 0
hivemind/dht/dht.py

@@ -120,6 +120,8 @@ class DHT(mp.Process):
 
             while True:
                 await pipe_semaphore.acquire()
+                if not self._inner_pipe.poll():
+                    continue
                 try:
                     method, args, kwargs = self._inner_pipe.recv()
                 except (OSError, ConnectionError, RuntimeError) as e: