qemu-cr16/io
Daniel P. Berrangé 322c3c4f3a io: move websock resource release to close method
The QIOChannelWebsock object releases all its resources in the
finalize callback. This is later than desired, as callers expect
to be able to call qio_channel_close() to fully close a channel
and release resources related to I/O.

The logic in the finalize method is at most a failsafe to handle
cases where a consumer forgets to call qio_channel_close.

This adds equivalent logic to the close method to release the
resources, using g_clear_handle_id/g_clear_pointer to be robust
against repeated invocations. The finalize method is tweaked
so that the GSource is removed before releasing the underlying
channel.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2025-10-24 13:04:31 +01:00
..
channel-buffer.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
channel-command.c treewide: use qemu_set_blocking instead of g_unix_set_fd_nonblocking 2025-09-19 12:46:07 +01:00
channel-file.c treewide: use qemu_set_blocking instead of g_unix_set_fd_nonblocking 2025-09-19 12:46:07 +01:00
channel-null.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
channel-socket.c error: Kill @error_warn 2025-10-01 08:33:24 +02:00
channel-tls.c io: release active GSource in TLS channel finalizer 2025-10-24 13:04:31 +01:00
channel-util.c io: follow coroutine AioContext in qio_channel_yield() 2023-09-07 20:32:11 -05:00
channel-watch.c error: Kill @error_warn 2025-10-01 08:33:24 +02:00
channel-websock.c io: move websock resource release to close method 2025-10-24 13:04:31 +01:00
channel.c treewide: handle result of qio_channel_set_blocking() 2025-09-19 12:46:07 +01:00
dns-resolver.c io: Fix partial struct copy in qio_dns_resolver_lookup_sync_inet() 2025-05-22 11:24:41 +01:00
meson.build Revert "meson: Propagate gnutls dependency" 2024-07-03 18:41:26 +02:00
net-listener.c io: Stop appending -listen to net listeners 2023-11-07 14:54:56 +00:00
task.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
trace-events io: tls: Add qio_channel_tls_bye 2025-02-14 15:19:03 -03:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00