From 5d55a42ded2a0376a8a2d90869e4d9e920fe40e2 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 28 Dec 2021 00:59:15 +0100 Subject: [PATCH] LibCore: Fix race conditions in TestLibCoreStream It was possible for the "local_socket_read" and "local_socket_write" tests to fail because we had exited the EventLoop before BackgroundAction got around to invoking the completion callback. The crash happened when trying to deferred_invoke() on the background thread, calling Core::EventLoop::current() after said EventLoop had returned from exec(). Fix this by not passing a completion callback, since we didn't need one in the first place. --- Tests/LibCore/TestLibCoreStream.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/LibCore/TestLibCoreStream.cpp b/Tests/LibCore/TestLibCoreStream.cpp index ebfc49c176..2f1276b49c 100644 --- a/Tests/LibCore/TestLibCoreStream.cpp +++ b/Tests/LibCore/TestLibCoreStream.cpp @@ -333,7 +333,7 @@ TEST_CASE(local_socket_read) return 0; }, - [](int) {}); + nullptr); event_loop.exec(); ::unlink("/tmp/test-socket"); @@ -372,7 +372,7 @@ TEST_CASE(local_socket_write) return 0; }, - [](int) {}); + nullptr); event_loop.exec(); ::unlink("/tmp/test-socket");