On Thu, Jun 27, 2013 at 5:22 PM, Tomas Hozza <tho...@redhat.com> wrote:
> 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 <tho...@redhat.com>
> ---
>  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) {

>From the description it seems that this is a typo. It should be 'while'?

> +                       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
> de...@linuxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



-- 
~Santosh
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to