On Thu, Nov 15, 2018 at 6:31 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> g_cond_signal is rarely the right thing to do, it works now because
> vhost-user-test only has two threads but it is not correct in general.
> Fix it before adding more calls.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> tests/vhost-user-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
> index 45d58d8ea2..656e51938b 100644
> --- a/tests/vhost-user-test.c
> +++ b/tests/vhost-user-test.c
> @@ -393,7 +393,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size)
> G_N_ELEMENTS(s->fds));
>
> /* signal the test that it can continue */
> - g_cond_signal(&s->data_cond);
> + g_cond_broadcast(&s->data_cond);
> break;
>
> case VHOST_USER_SET_VRING_KICK:
> @@ -419,7 +419,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size)
> p = (uint8_t *) &msg;
> qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE);
>
> - g_cond_signal(&s->data_cond);
> + g_cond_broadcast(&s->data_cond);
> break;
>
> case VHOST_USER_SET_VRING_BASE:
> --
> 2.19.1
>
>