- while True:
- data = self.sock.recv(65536)
-
- # punt socket metadata
- # packet_desc = data[0:8]
-
- # Ethernet
- self.rx_pkts.append(Ether(data[8:]))
+ while self.keep_running:
+ try:
+ data = self.sock.recv(65536)
+
+ # punt socket metadata
+ # packet_desc = data[0:8]
+
+ # Ethernet
+ self.rx_pkts.append(Ether(data[8:]))
+ except IOError as e:
+ if e.errno == 11:
+ # nothing to receive, sleep a little
+ time.sleep(0.1)
+ pass
+ else:
+ raise