Revert "Delete NO_MAIN_THREAD_WRAPPING preprocessor define."
This reverts commit 0f78c6b28dbc0c9caa555ce89ce91b0f08c510ea.
Reason for revert: Breaks downstream tests.
Original change's description:
> Delete NO_MAIN_THREAD_WRAPPING preprocessor define.
>
> Since many tests rely on rtc::Thread::Current(), add an
> explicit rtc::AutoThread in the main() function used by tests.
>
> Bug: webrtc:9714
> Change-Id: Id82121967c9621fe1c2945846009c48139fa57da
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/39680
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28000}
TBR=kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org
Change-Id: Iff939bb0d5ad0ea01b953321993733bb56c9070b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9714
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137512
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28001}
diff --git a/rtc_base/message_queue_unittest.cc b/rtc_base/message_queue_unittest.cc
index b31ea6c..b7c32e3 100644
--- a/rtc_base/message_queue_unittest.cc
+++ b/rtc_base/message_queue_unittest.cc
@@ -121,6 +121,20 @@
EXPECT_TRUE(deleted);
}
+struct UnwrapMainThreadScope {
+ UnwrapMainThreadScope() : rewrap_(Thread::Current() != nullptr) {
+ if (rewrap_)
+ ThreadManager::Instance()->UnwrapCurrentThread();
+ }
+ ~UnwrapMainThreadScope() {
+ if (rewrap_)
+ ThreadManager::Instance()->WrapCurrentThread();
+ }
+
+ private:
+ bool rewrap_;
+};
+
// Ensure that ProcessAllMessageQueues does its essential function; process
// all messages (both delayed and non delayed) up until the current time, on
// all registered message queues.