Since this is a library, it should not just blindly execute os.Exit() on every encountered error. Also, since Go 1.14, syscalls are more likely to be interrupted. This means Select() might return with syscall.EINTR in which case we're supposed to call it again. Proper error handling would probably require more work and changes in the public API so I just changed the internal API for now.
Since this is a library, it should not just blindly execute
os.Exit()
on every encountered error. Also, since Go 1.14, syscalls are more likely to be interrupted. This meansSelect()
might return withsyscall.EINTR
in which case we're supposed to call it again. Proper error handling would probably require more work and changes in the public API so I just changed the internal API for now.