mirror of
https://github.com/linux-can/can-utils.git
synced 2026-09-20 14:29:55 +02:00
j1939cat: fix error detection of poll function call
The poll function return -1 on error and set errno to indicate the error. Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
This commit is contained in:
+12
-8
@@ -368,10 +368,12 @@ static int j1939cat_send_loop(struct j1939cat_priv *priv, int out_fd, char *buf,
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = poll(&fds, 1, priv->polltimeout);
|
ret = poll(&fds, 1, priv->polltimeout);
|
||||||
if (ret == -EINTR)
|
if (ret == -1) {
|
||||||
continue;
|
if (errno == -EINTR)
|
||||||
if (ret < 0)
|
continue;
|
||||||
return -errno;
|
else
|
||||||
|
return -errno;
|
||||||
|
}
|
||||||
if (!ret)
|
if (!ret)
|
||||||
return -ETIME;
|
return -ETIME;
|
||||||
if (!(fds.revents & events)) {
|
if (!(fds.revents & events)) {
|
||||||
@@ -572,10 +574,12 @@ static int j1939cat_recv(struct j1939cat_priv *priv)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = poll(&fds, 1, priv->polltimeout);
|
ret = poll(&fds, 1, priv->polltimeout);
|
||||||
if (ret == -EINTR)
|
if (ret == -1) {
|
||||||
continue;
|
if (errno == -EINTR)
|
||||||
if (ret < 0)
|
continue;
|
||||||
return -errno;
|
else
|
||||||
|
return -errno;
|
||||||
|
}
|
||||||
if (!ret)
|
if (!ret)
|
||||||
continue;
|
continue;
|
||||||
if (!(fds.revents & events)) {
|
if (!(fds.revents & events)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user