X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/04e76de638c84c3cb88a7178764b700d5097e607..1e79d00a9f4c2f059c8bd2dc22e601c4ed4065d6:/hmcfgusb.c diff --git a/hmcfgusb.c b/hmcfgusb.c index d8a442f..0857a4b 100644 --- a/hmcfgusb.c +++ b/hmcfgusb.c @@ -393,6 +393,7 @@ int hmcfgusb_poll(struct hmcfgusb_dev *dev, int timeout) { struct timeval tv; int usb_event = 0; + int timed_out = 0; int i; int n; int fd_n; @@ -430,6 +431,7 @@ int hmcfgusb_poll(struct hmcfgusb_dev *dev, int timeout) return -1; } else if (n == 0) { usb_event = 1; + timed_out = 1; } else { for (fd_n = 0; fd_n < dev->n_pfd; fd_n++) { if (dev->pfd[fd_n].revents) { @@ -461,6 +463,9 @@ int hmcfgusb_poll(struct hmcfgusb_dev *dev, int timeout) errno = quit; } + if (timed_out) + errno = ETIMEDOUT; + return -1; }