change mp spawn method
mp.Queue is not pickle-able, which prevents spawn method from working, but is necessary for CUDA to work properly
This commit is contained in:
parent
c52826c528
commit
1a80fba07f
@ -33,7 +33,7 @@ class FeitTransmitter:
|
|||||||
|
|
||||||
|
|
||||||
class FeitReceiver:
|
class FeitReceiver:
|
||||||
def __init__(self, host: Host):
|
def __init__(self, host: Host, processing_queue: "mp.Queue[CSI]"):
|
||||||
self.host = host
|
self.host = host
|
||||||
self.server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
self.server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
self.server.connect(host)
|
self.server.connect(host)
|
||||||
@ -48,8 +48,9 @@ class FeitReceiver:
|
|||||||
self.logger = logging.getLogger(
|
self.logger = logging.getLogger(
|
||||||
f"{__name__}.{self.__class__.__name__}-{self.host}"
|
f"{__name__}.{self.__class__.__name__}-{self.host}"
|
||||||
)
|
)
|
||||||
|
self.processing_queue = processing_queue
|
||||||
|
|
||||||
def listen(self, queue: "mp.Queue[CSI]"):
|
def listen(self):
|
||||||
prev_time = datetime.now()
|
prev_time = datetime.now()
|
||||||
while True:
|
while True:
|
||||||
# This is the max size of a UDP packet. The size of the actual CSI
|
# This is the max size of a UDP packet. The size of the actual CSI
|
||||||
@ -62,7 +63,7 @@ class FeitReceiver:
|
|||||||
f"Received CSI data after {datetime.now() - prev_time}"
|
f"Received CSI data after {datetime.now() - prev_time}"
|
||||||
)
|
)
|
||||||
prev_time = datetime.now()
|
prev_time = datetime.now()
|
||||||
queue.put(csidata)
|
self.processing_queue.put(csidata)
|
||||||
except struct.error:
|
except struct.error:
|
||||||
self.logger.error("Failed to parse CSI data")
|
self.logger.error("Failed to parse CSI data")
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user