diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2015-10-03 18:43:49 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2015-10-05 08:54:11 +0000 |
commit | c7b276f4e6c1fac896099dfddef1c6c69e132fb9 (patch) | |
tree | 223891df84843c01a0d029493dffc60739b9d438 | |
parent | 6630994af46d22503982d54c72a8fe5cd5e51be5 (diff) | |
download | qtserialport-c7b276f4e6c1fac896099dfddef1c6c69e132fb9.tar.gz |
Use the qt_safe_select for waitForXX functions on *nix
Now it is used the qt_safe_select() function similar to the Qt socket
engine.
Tested on Linux (kernel 4.1.7) with the USB and virtual tty0tty
serial ports.
Change-Id: Icd7a443ee5e0b5d6453a6e9973930f41e1313eeb
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r-- | src/serialport/qserialport_unix.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp index c243319..bced191 100644 --- a/src/serialport/qserialport_unix.cpp +++ b/src/serialport/qserialport_unix.cpp @@ -992,11 +992,11 @@ bool QSerialPortPrivate::waitForReadOrWrite(bool *selectForRead, bool *selectFor if (checkWrite) FD_SET(descriptor, &fdwrite); - struct timeval tv; + struct timespec tv; tv.tv_sec = msecs / 1000; - tv.tv_usec = (msecs % 1000) * 1000; + tv.tv_nsec = (msecs % 1000) * 1000 * 1000; - const int ret = ::select(descriptor + 1, &fdread, &fdwrite, 0, msecs < 0 ? 0 : &tv); + const int ret = qt_safe_select(descriptor + 1, &fdread, &fdwrite, 0, msecs < 0 ? 0 : &tv); if (ret < 0) { setError(getSystemError()); return false; |