Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9561d479 authored by Tomas Hozza's avatar Tomas Hozza Committed by Greg Kroah-Hartman
Browse files

tools: hv: Check return value of poll call



Check return value of poll call and if it fails print error to the
system log. If errno is EINVAL then exit with non-zero value otherwise
continue the while loop and call poll again.

Signed-off-by: default avatarTomas Hozza <thozza@redhat.com>
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5c289269
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -200,7 +200,16 @@ int main(void)
		socklen_t addr_l = sizeof(addr);
		socklen_t addr_l = sizeof(addr);
		pfd.events = POLLIN;
		pfd.events = POLLIN;
		pfd.revents = 0;
		pfd.revents = 0;
		poll(&pfd, 1, -1);

		if (poll(&pfd, 1, -1) < 0) {
			syslog(LOG_ERR, "poll failed; error:%d %s", errno, strerror(errno));
			if (errno == EINVAL) {
				close(fd);
				exit(EXIT_FAILURE);
			}
			else
				continue;
		}


		len = recvfrom(fd, vss_recv_buffer, sizeof(vss_recv_buffer), 0,
		len = recvfrom(fd, vss_recv_buffer, sizeof(vss_recv_buffer), 0,
				addr_p, &addr_l);
				addr_p, &addr_l);