> -----Original Message----- > From: Tomas Hozza [mailto:thozza@xxxxxxxxxx] > Sent: Thursday, June 27, 2013 7:53 AM > To: gregkh@xxxxxxxxxxxxxxxxxxx > Cc: jasowang@xxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; KY Srinivasan; Haiyang > Zhang; Tomas Hozza > Subject: [PATCH 3/3] 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: Tomas Hozza <thozza@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > --- > tools/hv/hv_vss_daemon.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/tools/hv/hv_vss_daemon.c b/tools/hv/hv_vss_daemon.c > index 6c4d2f1..826d499 100644 > --- a/tools/hv/hv_vss_daemon.c > +++ b/tools/hv/hv_vss_daemon.c > @@ -204,7 +204,16 @@ int main(void) > socklen_t addr_l = sizeof(addr); > pfd.events = POLLIN; > 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, > addr_p, &addr_l); > -- > 1.8.1.4 > > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel