[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] remote clients are non-interruptible



On Sun, Oct 25, 2009 at 05:07:12PM +0000, Richard W.M. Jones wrote:
> On Sun, Oct 25, 2009 at 01:00:58PM -0400, John Levon wrote:
> > 
> > remoteIOEventLoop() has this:
> > 
> > 6974     repoll:
> > 6975         ret = poll(fds, ARRAY_CARDINALITY(fds), -1);
> > 6976         if (ret < 0 && errno == EINTR)
> > 6977             goto repoll;
> > 
> > with the result that all clients using the remote driver cannot be
> > control-C'd. Dan, you added this code it seems, why?
> 
> I'd agree with John here that probably you want to test only for errno
> == EAGAIN, not EINTR in this (client) case.

  Looking just at the Linux man page, EAGAIN is not in the list
of potential error returns for poll(2), but when looking at one of
the OpenGroup pages on the function
  http://www.opengroup.org/onlinepubs/009695399/functions/poll.html
it allows EAGAIN, so I just changed EINTR to EAGAIN, in this function
and pushed the change,

  thanks !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel veillard com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]