* Bin Meng ([email protected]) wrote:
> From: Xuzhou Cheng <[email protected]>
>
> Make sure QEMU process "to" exited before launching another target
> for migration in the test_multifd_tcp_cancel case.
>
> Signed-off-by: Xuzhou Cheng <[email protected]>
> Signed-off-by: Bin Meng <[email protected]>
> Reviewed-by: Marc-André Lureau <[email protected]>
Hmm you might want to put a small usleep in that loop; otherwise
it'll burn CPU.
There is a slim risk with this that another, entirely unrelated, process
will start up with the same PID between the end of migrate_cancel
and then you'll be spinning on it rather than the 'to' qemu.
I wonder if there's a better way to check for it dieing; e.g. an error
on it's qmp interface or something?
Dave
> ---
>
> Changes in v2:
> - Change to a busy wait after migration is canceled
>
> tests/qtest/migration-test.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index c87afad9e8..aedd9ddb72 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -2133,6 +2133,10 @@ static void test_multifd_tcp_cancel(void)
> wait_for_migration_pass(from);
>
> migrate_cancel(from);
> + /* Make sure QEMU process "to" exited */
> + while (qtest_probe_child(to)) {
> + ;
> + }
>
> args = (MigrateStart){
> .only_target = true,
> --
> 2.34.1
>
--
Dr. David Alan Gilbert / [email protected] / Manchester, UK