On Thu, Oct 06, 2022 at 12:12:19PM +0400, [email protected] wrote: > From: Marc-André Lureau <[email protected]> > > The /io/channel/command/echo tests run the reader side and the writer > side with the same underlying command channel. Setting the blocking mode > of the fd/handles while the other end is already reading/writing may > create issues (deadlock in win32 when earlier attempt of this series > were using SetNamedPipeHandleState). Let's just do it before spawning > the threads to avoid further concurrency issues.
Curious, makes me wonder why I did this in the threads in the first place... > > Signed-off-by: Marc-André Lureau <[email protected]> > --- > tests/unit/io-channel-helpers.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) Reviewed-by: Daniel P. Berrangé <[email protected]> > > diff --git a/tests/unit/io-channel-helpers.c b/tests/unit/io-channel-helpers.c > index ff156ed3c4..c0799c21c2 100644 > --- a/tests/unit/io-channel-helpers.c > +++ b/tests/unit/io-channel-helpers.c > @@ -25,7 +25,6 @@ > struct QIOChannelTest { > QIOChannel *src; > QIOChannel *dst; > - bool blocking; > size_t len; > size_t niov; > char *input; > @@ -42,8 +41,6 @@ static gpointer test_io_thread_writer(gpointer opaque) > { > QIOChannelTest *data = opaque; > > - qio_channel_set_blocking(data->src, data->blocking, NULL); > - > qio_channel_writev_all(data->src, > data->inputv, > data->niov, > @@ -58,8 +55,6 @@ static gpointer test_io_thread_reader(gpointer opaque) > { > QIOChannelTest *data = opaque; > > - qio_channel_set_blocking(data->dst, data->blocking, NULL); > - > qio_channel_readv_all(data->dst, > data->outputv, > data->niov, > @@ -113,7 +108,9 @@ void qio_channel_test_run_threads(QIOChannelTest *test, > > test->src = src; > test->dst = dst; > - test->blocking = blocking; > + > + qio_channel_set_blocking(test->dst, blocking, NULL); > + qio_channel_set_blocking(test->src, blocking, NULL); > > reader = g_thread_new("reader", > test_io_thread_reader, > -- > 2.37.3 > With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
