[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