watch_* routines have issues with ctrl-c on linux if no data is received
Open
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
Assessment
This issue has not been assessed yet.