[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] A glib warning encountered with internal iothread
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] A glib warning encountered with internal iothread |
Date: |
Wed, 27 Sep 2017 15:14:40 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 27/09/2017 14:36, Fam Zheng wrote:
> On Wed, 09/27 13:17, Stefan Hajnoczi wrote:
>> On Tue, Sep 26, 2017 at 07:13:43PM +0800, Fam Zheng wrote:
>>> On Tue, 09/26 17:11, Peter Xu wrote:
>>> void aio_context_unref(AioContext *ctx)
>>> {
>>> + assert(ctx->refcnt > 0);
>>> + if (--ctx->refcnt == 0) {
>>> + aio_set_event_notifier(ctx, &ctx->notifier, false, NULL, NULL);
>>> + }
>>
>> This isn't a general solution because Linux AIO also has a file
>> descriptor that is removed in aio_ctx_finalize().
>
> Right. Another option is to move everything in aio_context_finalize() into the
> "if (--ctx->refcnt == 0) { ... }" block, before calling g_source_unref().
I think I prefer Stefan's solution. If the GSource has been ref'ed
independent of the AioContext object, it may be a problem to free it early.
Paolo
- [Qemu-devel] A glib warning encountered with internal iothread, Peter Xu, 2017/09/26
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Stefan Hajnoczi, 2017/09/26
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Peter Xu, 2017/09/26
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Fam Zheng, 2017/09/26
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Peter Xu, 2017/09/27
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Stefan Hajnoczi, 2017/09/27
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Fam Zheng, 2017/09/27
- Re: [Qemu-devel] A glib warning encountered with internal iothread,
Paolo Bonzini <=
- Re: [Qemu-devel] A glib warning encountered with internal iothread, Peter Xu, 2017/09/27