io: check there are no qio_channel_yield() coroutines during ->finalize()
Callers must clean up their coroutines before calling object_unref(OBJECT(ioc)) to prevent an fd handler leak. Add an assertion to check this. This patch is preparation for the fd handler changes that follow. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-ID: <20230830224802.493686-4-stefanha@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
078c8adaa6
commit
acd4be64b8
@ -653,6 +653,10 @@ static void qio_channel_finalize(Object *obj)
|
||||
{
|
||||
QIOChannel *ioc = QIO_CHANNEL(obj);
|
||||
|
||||
/* Must not have coroutines in qio_channel_yield() */
|
||||
assert(!ioc->read_coroutine);
|
||||
assert(!ioc->write_coroutine);
|
||||
|
||||
g_free(ioc->name);
|
||||
|
||||
#ifdef _WIN32
|
||||
|
Loading…
Reference in New Issue
Block a user