- ignore_list = list()
- if ignore is not None:
- for ig_pkt in ignore:
- # Auto pad all packets in ignore list
- ignore_list.append(str(auto_pad(ig_pkt)))
- while True:
- rlist, _, _ = select.select([self._sock], [], [], timeout)
- if self._sock not in rlist:
+ time_end = time.monotonic() + timeout
+ ignore = ignore if ignore else list()
+ # Auto pad all packets in ignore list
+ ignore = [str(auto_pad(ig_pkt)) for ig_pkt in ignore]
+ while 1:
+ time_now = time.monotonic()
+ if time_now >= time_end: