[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [libvirt] [PATCH] daemon: cleanup state drivers in order reverse to init order
- From: Cole Robinson <crobinso redhat com>
- To: Nikolay Shirokovskiy <nshirokovskiy virtuozzo com>, libvir-list redhat com
- Subject: Re: [libvirt] [PATCH] daemon: cleanup state drivers in order reverse to init order
- Date: Tue, 17 May 2016 19:46:22 -0400
On 05/17/2016 07:44 AM, Nikolay Shirokovskiy wrote:
> This patch aims to fix observed crash on daemon shutdown. Main thread is in
> the process of state drivers cleanup, network driver is cleaned up and
> qemu driver is not yet. Meanwhile eof event from qemu process triggers
> qemuProcessStop -> networkReleaseActualDevice and crash happens as
> network driver is already cleaned up.
>
> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy virtuozzo com>
> ---
> src/libvirt.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/libvirt.c b/src/libvirt.c
> index 114e88c..d79fe75 100644
> --- a/src/libvirt.c
> +++ b/src/libvirt.c
> @@ -800,12 +800,12 @@ virStateInitialize(bool privileged,
> int
> virStateCleanup(void)
> {
> - size_t i;
> + int r;
> int ret = 0;
>
> - for (i = 0; i < virStateDriverTabCount; i++) {
> - if (virStateDriverTab[i]->stateCleanup &&
> - virStateDriverTab[i]->stateCleanup() < 0)
> + for (r = virStateDriverTabCount - 1; r >= 0; r--) {
> + if (virStateDriverTab[r]->stateCleanup &&
> + virStateDriverTab[r]->stateCleanup() < 0)
> ret = -1;
> }
> return ret;
>
ACK, looks/sounds reasonable to me
- Cole
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]