tests: Fix rfkill testing with updated kernel

Kernel commit 14486c82612a ("rfkill: add a reason to the HW rfkill
state") added an extra byte to the end of the rfkill events and that
confused the read loop here since python tried to buffer the results
from multiple read() calls into the local buffer that then delivered the
extra octets in consecutive events. Fix this by disabling buffering for
these reads.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
master
Jouni Malinen 3 years ago committed by Jouni Malinen
parent 8f58972942
commit f34493f2a8

@ -126,7 +126,7 @@ class RFKill(object):
@classmethod
def list(cls):
res = []
rfk = open('/dev/rfkill', 'rb')
rfk = open('/dev/rfkill', 'rb', buffering=0)
fd = rfk.fileno()
flgs = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, flgs | os.O_NONBLOCK)

Loading…
Cancel
Save