audio: Use 'join' instead of 'stop' for stream workers

Calling 'stop' can cause the worker thread to terminate
before it handles the 'halReservedExit' command. This should
be avoided because a proper exit sequence may do cleanups.
Since all stream workers must handle the 'halReservedExit'
command, use of 'stop' should not be needed (if the thread
code gets stuck on a call to drivers, calling 'stop' will
not interrupt this), thus it is being replaced by 'join'.

Bug: 344482249
Test: atest CtsMediaAudioTestCases
Test: atest VtsHalAudioCoreTargetTest
Change-Id: If13f7239423657b80091239ff67e7fe350957e2e
Merged-In: If13f7239423657b80091239ff67e7fe350957e2e
diff --git a/audio/aidl/default/Stream.cpp b/audio/aidl/default/Stream.cpp
index 8f5e839..389860f 100644
--- a/audio/aidl/default/Stream.cpp
+++ b/audio/aidl/default/Stream.cpp
@@ -772,7 +772,7 @@
     if (!isClosed()) {
         stopWorker();
         LOG(DEBUG) << __func__ << ": joining the worker thread...";
-        mWorker->stop();
+        mWorker->join();
         LOG(DEBUG) << __func__ << ": worker thread joined";
         onClose(mWorker->setClosed());
         return ndk::ScopedAStatus::ok();