[libvirt] [PATCH] qemu: Faster response time to qemu startup errors

Stefan Berger stefanb at linux.vnet.ibm.com
Mon Jun 13 20:17:56 UTC 2011


On 06/13/2011 03:36 PM, Eric Blake wrote:
> On 06/13/2011 01:26 PM, Stefan Berger wrote:
>> The below patch decreases the response time of libvirt to errors
>> reported by Qemu upon startup by checking whether the qemu process is
>> still alive while polling for the local socket to show up.
>>
>> @@ -274,7 +274,8 @@ qemuMonitorOpenUnix(const char *monitor)
>>           if (ret == 0)
>>               break;
>>
>> -        if (errno == ENOENT || errno == ECONNREFUSED) {
>> +        if ((errno == ENOENT || errno == ECONNREFUSED)&&
>> +            virKillProcess(cpid, 0) == 0) {
>>               /* ENOENT       : Socket may not have shown up yet
>>                * ECONNREFUSED : Leftover socket hasn't been removed yet */
>>               continue;
> Calling virKillProcess changes errno; in fact, errno will probably be
> ESRCH if virKillProcess ended up being called but the process is not
> alive.  But I guess that is just as good a message, and can only happen
> on ENOENT or ECONNREFUSED in the first place, so it looks okay to me.
>
> ACK.
>
Pushed.

   Stefan




More information about the libvir-list mailing list