Thread eventloop:
     vdsm mainThread:
     eventloop will receive EINTR and stops, events callback can't be
reacted from then on.Libvirt/vdsm connection's keepalive message also count
on this event loop, setuid/setgroups/etc will cause libvirt will close
connection to vdsm because of loosing keepalive message.
     This make libvirt/vdsm connection vulnerable to some system calls
     While Libvirt's default eventloop API handled EINTR without causing
this problem.
    ret = poll(fds, nfds, timeout);
    if (ret < 0) {
        EVENT_DEBUG("Poll got error event %d", errno);
        if (errno == EINTR) {
            goto retry;
    Based on this please see change:

vdsm-devel mailing list

Reply via email to