mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
migration/multifd: Cleanup outgoing_args in state destroy
outgoing_args is a global cache of socket address to be reused in multifd. Freeing the cache in per-channel destructor is more or less a hack. Move it to multifd_send_cleanup_state() so it only get checked once. Use a small helper to do so because it's internal of socket.c. Reviewed-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240222095301.171137-5-peterx@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
770de49c00
commit
72b90b9687
3 changed files with 11 additions and 4 deletions
|
@ -64,10 +64,6 @@ int socket_send_channel_destroy(QIOChannel *send)
|
|||
{
|
||||
/* Remove channel */
|
||||
object_unref(OBJECT(send));
|
||||
if (outgoing_args.saddr) {
|
||||
qapi_free_SocketAddress(outgoing_args.saddr);
|
||||
outgoing_args.saddr = NULL;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -137,6 +133,14 @@ void socket_start_outgoing_migration(MigrationState *s,
|
|||
NULL);
|
||||
}
|
||||
|
||||
void socket_cleanup_outgoing_migration(void)
|
||||
{
|
||||
if (outgoing_args.saddr) {
|
||||
qapi_free_SocketAddress(outgoing_args.saddr);
|
||||
outgoing_args.saddr = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void socket_accept_incoming_migration(QIONetListener *listener,
|
||||
QIOChannelSocket *cioc,
|
||||
gpointer opaque)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue