iotile / iotile/coretools

watch_* routines have issues with ctrl-c on linux if no data is received

Open
#711 3 comments 0 reactions 0 assignees View on GitHub
iotile-core type:bug
Dominant language
Python
Stars
14
Forks
7
PR merge metrics
No merged PRs in 30d

Description

When we block on `HardwareManager.iter_reports(block=True)`, it is platform dependent whether a Ctrl-C will break us out of that lock acquisition. It looks like on linux the answer is no since it's stuck in the `syscall` on the mutex forever in the kernel. We'll need to implement some kind of internal timeout that checks for ctrl-C and raises, otherwise blocks again rather than doing a true blocking `queue.get()` to that Ctrl-C works on all platforms.

See https://stackoverflow.com/questions/36817050/interrupting-a-queue-get

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.