test-util-sockets: Synchronize properly, don't sleep(1)
commit39458d4e3059d37e3331258a50fd77f8cf5b365e
authorMarkus Armbruster <armbru@redhat.com>
Mon, 2 Nov 2020 09:44:16 +0000 (2 10:44 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 3 Nov 2020 13:09:28 +0000 (3 13:09 +0000)
tree5030feaba530bb9f17d98aa8a622ab4a9325640f
parent89cb0bb554ee2365d948d3f593ea04f03d5bc4f8
test-util-sockets: Synchronize properly, don't sleep(1)

The abstract sockets test spawns a thread to listen and accept, and a
second one to connect, with a sleep(1) in between to "ensure" the
former is listening when the latter tries to connect.  Review fail.
Risks spurious test failure, say when a heavily loaded machine doesn't
schedule the first thread quickly enough.  It's also slow.

Listen and accept in the main thread, and start the connect thread in
between.  Look ma, no sleep!  Run time drops from 2s wall clock to a
few milliseconds.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
tests/test-util-sockets.c