From e35004dffb42dd96b8cf37b33c9a3af4a5fd376c Mon Sep 17 00:00:00 2001 From: Bruce Dawson Date: Sat, 16 May 2020 13:53:59 -0700 Subject: Use Windows 10 thread naming API While profiling video chat in Chrome I noticed that some of the webrtc threads were not named. This change adds conditional use of the thread naming APIs. These thread names work even if you attach a debugger after the thread is named, and they show up in ETW traces, for easier profiling. The sctp_create_thread_adapter threads are still not named but since those are in C files they would require a C++-with-extern-C interface to fix, so I'm leaving them for now. Bug: webrtc:10745 Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280 Commit-Queue: Tommi Reviewed-by: Tommi Reviewed-by: Karl Wiberg Cr-Commit-Position: refs/heads/master@{#31285} --- rtc_base/BUILD.gn | 1 + 1 file changed, 1 insertion(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index a61ede4ac9..2d90898ce7 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -154,6 +154,7 @@ rtc_library("platform_thread_types") { "platform_thread_types.cc", "platform_thread_types.h", ] + deps = [ ":macromagic" ] } rtc_source_set("refcount") { -- cgit v1.2.3 From d0d55515c4b88a07446bc66a5c183f50ee896282 Mon Sep 17 00:00:00 2001 From: Tommi Date: Sun, 17 May 2020 12:40:36 +0000 Subject: Revert "Use Windows 10 thread naming API" This reverts commit e35004dffb42dd96b8cf37b33c9a3af4a5fd376c. Reason for revert: Reverting while downstream issue is resolved. Original change's description: > Use Windows 10 thread naming API > > While profiling video chat in Chrome I noticed that some of the webrtc > threads were not named. This change adds conditional use of the thread > naming APIs. These thread names work even if you attach a debugger after > the thread is named, and they show up in ETW traces, for easier > profiling. > > The sctp_create_thread_adapter threads are still not named but since > those are in C files they would require a C++-with-extern-C interface > to fix, so I'm leaving them for now. > > Bug: webrtc:10745 > Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280 > Commit-Queue: Tommi > Reviewed-by: Tommi > Reviewed-by: Karl Wiberg > Cr-Commit-Position: refs/heads/master@{#31285} TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org Change-Id: Icf877afbd82918ebe0c42a93b8a763cdab9a73ce No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10745 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175347 Reviewed-by: Tommi Commit-Queue: Tommi Cr-Commit-Position: refs/heads/master@{#31289} --- rtc_base/BUILD.gn | 1 - 1 file changed, 1 deletion(-) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 2d90898ce7..a61ede4ac9 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -154,7 +154,6 @@ rtc_library("platform_thread_types") { "platform_thread_types.cc", "platform_thread_types.h", ] - deps = [ ":macromagic" ] } rtc_source_set("refcount") { -- cgit v1.2.3 From cf84607875d5dd13e33dddf33cf457d9a5f25e2c Mon Sep 17 00:00:00 2001 From: Tommi Date: Sun, 17 May 2020 14:51:10 +0200 Subject: Reland "Use Windows 10 thread naming API" This reverts commit d0d55515c4b88a07446bc66a5c183f50ee896282. Reason for revert: Relanding with workaround. Original change's description: > Revert "Use Windows 10 thread naming API" > > This reverts commit e35004dffb42dd96b8cf37b33c9a3af4a5fd376c. > > Reason for revert: Reverting while downstream issue is resolved. > > Original change's description: > > Use Windows 10 thread naming API > > > > While profiling video chat in Chrome I noticed that some of the webrtc > > threads were not named. This change adds conditional use of the thread > > naming APIs. These thread names work even if you attach a debugger after > > the thread is named, and they show up in ETW traces, for easier > > profiling. > > > > The sctp_create_thread_adapter threads are still not named but since > > those are in C files they would require a C++-with-extern-C interface > > to fix, so I'm leaving them for now. > > > > Bug: webrtc:10745 > > Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280 > > Commit-Queue: Tommi > > Reviewed-by: Tommi > > Reviewed-by: Karl Wiberg > > Cr-Commit-Position: refs/heads/master@{#31285} > > TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org > > Change-Id: Icf877afbd82918ebe0c42a93b8a763cdab9a73ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:10745 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175347 > Reviewed-by: Tommi > Commit-Queue: Tommi > Cr-Commit-Position: refs/heads/master@{#31289} TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org Bug: webrtc:10745 Change-Id: I51ee413fd8a0ff62f6b8b2a11f546b2a70168842 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175349 Reviewed-by: Tommi Commit-Queue: Tommi Cr-Commit-Position: refs/heads/master@{#31292} --- rtc_base/BUILD.gn | 1 + 1 file changed, 1 insertion(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index a61ede4ac9..2d90898ce7 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -154,6 +154,7 @@ rtc_library("platform_thread_types") { "platform_thread_types.cc", "platform_thread_types.h", ] + deps = [ ":macromagic" ] } rtc_source_set("refcount") { -- cgit v1.2.3 From fbf4ad29584e703dcb906761589910911a454e5c Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Tue, 26 May 2020 18:43:55 +0200 Subject: AsyncResolver: remove dependency on SignalThread. This change removes dependency on SignalThread which is a heavy user of re-entered mutexes, and is a step to being able to delete SignalThread. The new AsyncResolver is based on task queue instead. Bug: webrtc:11567, webrtc:7723 Change-Id: Iab125ccbc0fb9d72af44341e58f89b3868c952cb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175910 Commit-Queue: Markus Handell Reviewed-by: Tommi Cr-Commit-Position: refs/heads/master@{#31361} --- rtc_base/BUILD.gn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 2d90898ce7..fdb622bc32 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -761,6 +761,7 @@ rtc_library("rtc_base") { deps = [ ":checks", ":deprecation", + ":rtc_task_queue", ":stringutils", "../api:array_view", "../api:function_view", @@ -768,9 +769,11 @@ rtc_library("rtc_base") { "../api/task_queue", "../system_wrappers:field_trial", "network:sent_packet", + "synchronization:sequence_checker", "system:file_wrapper", "system:inline", "system:rtc_export", + "task_utils:pending_task_safety_flag", "task_utils:to_queued_task", "third_party/base64", "third_party/sigslot", -- cgit v1.2.3 From c23d749c42ea2c876350536b99956ee7e74f391b Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Wed, 27 May 2020 16:39:46 +0200 Subject: Deprecate SignalThread. Bug: webrtc:11611, webrtc:11567, webrtc:7723 Change-Id: If69c9101f5ff9a5fd00da599e0a4c02c636a2e65 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176220 Reviewed-by: Mirko Bonadei Reviewed-by: Karl Wiberg Commit-Queue: Markus Handell Cr-Commit-Position: refs/heads/master@{#31372} --- rtc_base/BUILD.gn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index fdb622bc32..3436bb3e06 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -805,6 +805,8 @@ rtc_library("rtc_base") { "crypt_string.h", "data_rate_limiter.cc", "data_rate_limiter.h", + "deprecated/signal_thread.cc", + "deprecated/signal_thread.h", "dscp.h", "file_rotating_stream.cc", "file_rotating_stream.h", @@ -857,7 +859,6 @@ rtc_library("rtc_base") { "rtc_certificate.h", "rtc_certificate_generator.cc", "rtc_certificate_generator.h", - "signal_thread.cc", "signal_thread.h", "sigslot_repeater.h", "socket.cc", @@ -1308,6 +1309,7 @@ if (rtc_include_tests) { "callback_unittest.cc", "crc32_unittest.cc", "data_rate_limiter_unittest.cc", + "deprecated/signal_thread_unittest.cc", "fake_clock_unittest.cc", "helpers_unittest.cc", "ip_address_unittest.cc", @@ -1320,7 +1322,6 @@ if (rtc_include_tests) { "rolling_accumulator_unittest.cc", "rtc_certificate_generator_unittest.cc", "rtc_certificate_unittest.cc", - "signal_thread_unittest.cc", "sigslot_tester_unittest.cc", "test_client_unittest.cc", "thread_unittest.cc", -- cgit v1.2.3 From f70fbc841166d397c4acf4bebae5d3a0c32727f8 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Thu, 4 Jun 2020 00:41:20 +0200 Subject: Introduces rtc_base/synchronization/mutex.h. This change introduces a new non-reentrant mutex to WebRTC. It enables eventual migration to Abseil's mutex. The mutex types supportable by webrtc::Mutex are - absl::Mutex - CriticalSection (Windows only) - pthread_mutex (POSIX only) In addition to introducing the mutexes, the CL also changes PacketBuffer to use the new mutex instead of rtc::CriticalSection. The method of yielding from critical_section.cc was given a mini-cleanup and YieldCurrentThread() was added to rtc_base/synchronization/yield.h/cc. Additionally, google_benchmark benchmarks for the mutexes were added (test courtesy of danilchap@), and some results from a pthread/Abseil shootout were added showing Abseil has the advantage in higher contention. Bug: webrtc:11567, webrtc:11634 Change-Id: Iaec324ccb32ec3851bf6db3fd290f5ea5dee4c81 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176230 Commit-Queue: Mirko Bonadei Reviewed-by: Mirko Bonadei Reviewed-by: Karl Wiberg Reviewed-by: Tommi Reviewed-by: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#31443} --- rtc_base/BUILD.gn | 1 + 1 file changed, 1 insertion(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 3436bb3e06..f7155a825a 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -177,6 +177,7 @@ rtc_library("criticalsection") { ":checks", ":macromagic", ":platform_thread_types", + "synchronization:yield", "system:rtc_export", "system:unused", ] -- cgit v1.2.3 From 2dcf3480119eb7bc47c52681ecdf862ef018886e Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Fri, 5 Jun 2020 14:30:41 +0200 Subject: Use absl_deps in order to preapre to the Abseil component build release. Bug: webrtc:1046390 Change-Id: Ia35545599de23b1a2c2d8be2d53469af7ac16f1d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176502 Reviewed-by: Karl Wiberg Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#31463} --- rtc_base/BUILD.gn | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index f7155a825a..33b074d096 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -59,8 +59,8 @@ rtc_library("rtc_base_approved") { "system:rtc_export", "system:unused", "third_party/base64", - "//third_party/abseil-cpp/absl/types:optional", ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] public_deps = [] # no-presubmit-check TODO(webrtc:8603) sources = [ @@ -203,8 +203,8 @@ rtc_library("platform_thread") { ":rtc_event", ":thread_checker", ":timeutils", - "//third_party/abseil-cpp/absl/strings", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("rtc_event") { @@ -227,8 +227,8 @@ rtc_library("rtc_event") { ":checks", "synchronization:yield_policy", "system:warn_current_thread_is_deadlocked", - "//third_party/abseil-cpp/absl/types:optional", ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } } @@ -242,6 +242,8 @@ rtc_library("logging") { ":platform_thread_types", ":stringutils", ":timeutils", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/meta:type_traits", "//third_party/abseil-cpp/absl/strings", @@ -303,6 +305,8 @@ rtc_library("checks") { ":safe_compare", "system:inline", "system:rtc_export", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/meta:type_traits", "//third_party/abseil-cpp/absl/strings", ] @@ -319,13 +323,13 @@ rtc_library("rate_limiter") { deps = [ ":rtc_base_approved", "../system_wrappers", - "//third_party/abseil-cpp/absl/types:optional", ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_source_set("sanitizer") { sources = [ "sanitizer.h" ] - deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ] + absl_deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ] } rtc_source_set("bounded_inline_vector") { @@ -400,6 +404,8 @@ rtc_library("stringutils") { ":macromagic", ":safe_minmax", "../api:array_view", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] @@ -435,8 +441,8 @@ rtc_library("rtc_task_queue") { "../api/task_queue", "system:rtc_export", "task_utils:to_queued_task", - "//third_party/abseil-cpp/absl/memory", ] + absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] } rtc_source_set("rtc_operations_chain") { @@ -471,6 +477,8 @@ if (rtc_enable_libevent) { ":safe_conversions", ":timeutils", "../api/task_queue", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector", "//third_party/abseil-cpp/absl/strings", ] @@ -492,8 +500,8 @@ if (is_mac || is_ios) { ":logging", "../api/task_queue", "system:gcd_helpers", - "//third_party/abseil-cpp/absl/strings", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } } @@ -514,8 +522,8 @@ if (is_win) { ":safe_conversions", ":timeutils", "../api/task_queue", - "//third_party/abseil-cpp/absl/strings", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } } @@ -534,8 +542,8 @@ rtc_library("rtc_task_queue_stdlib") { ":safe_conversions", ":timeutils", "../api/task_queue", - "//third_party/abseil-cpp/absl/strings", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("weak_ptr") { @@ -578,6 +586,8 @@ rtc_library("rtc_numerics") { "../api/units:data_rate", "../api/units:time_delta", "../api/units:timestamp", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/types:optional", ] @@ -778,6 +788,8 @@ rtc_library("rtc_base") { "task_utils:to_queued_task", "third_party/base64", "third_party/sigslot", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", @@ -1006,8 +1018,8 @@ rtc_library("gunit_helpers") { ":rtc_base_tests_utils", ":stringutils", "../test:test_support", - "//third_party/abseil-cpp/absl/strings", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("testclient") { @@ -1072,6 +1084,8 @@ rtc_library("rtc_base_tests_utils") { "../api/units:timestamp", "memory:fifo_buffer", "third_party/sigslot", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", ] @@ -1093,8 +1107,8 @@ rtc_library("task_queue_for_test") { "../api/task_queue", "../api/task_queue:default_task_queue_factory", "task_utils:to_queued_task", - "//third_party/abseil-cpp/absl/strings", ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } if (rtc_include_tests) { @@ -1134,8 +1148,8 @@ if (rtc_include_tests) { "../test:test_support", "third_party/sigslot", "//testing/gtest", - "//third_party/abseil-cpp/absl/memory", ] + absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] if (is_win) { sources += [ "win32_socket_server_unittest.cc" ] } @@ -1217,6 +1231,8 @@ if (rtc_include_tests) { "task_utils:to_queued_task", "third_party/base64", "third_party/sigslot", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/memory", ] @@ -1234,8 +1250,8 @@ if (rtc_include_tests) { ":task_queue_for_test", "../test:test_main", "../test:test_support", - "//third_party/abseil-cpp/absl/memory", ] + absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] } rtc_library("rtc_operations_chain_unittests") { @@ -1285,8 +1301,8 @@ if (rtc_include_tests) { ":rtc_numerics", "../test:test_main", "../test:test_support", - "//third_party/abseil-cpp/absl/algorithm:container", ] + absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ] } rtc_library("rtc_json_unittests") { @@ -1362,6 +1378,8 @@ if (rtc_include_tests) { "synchronization:synchronization_unittests", "task_utils:to_queued_task", "third_party/sigslot", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", -- cgit v1.2.3 From 2d27b1ab0c851b24a8060147147960c28a3f38bb Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Tue, 9 Jun 2020 17:34:41 +0200 Subject: Mutex: Temporarily add re-entry CHECK. Bug: webrtc:11567 Change-Id: I8f9f2f8d2f4961fd82ef50de9f4b486056bc7c1e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176701 Reviewed-by: Karl Wiberg Reviewed-by: Mirko Bonadei Commit-Queue: Markus Handell Cr-Commit-Position: refs/heads/master@{#31479} --- rtc_base/BUILD.gn | 1 + 1 file changed, 1 insertion(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 33b074d096..2ab25f269b 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -189,6 +189,7 @@ rtc_library("platform_thread") { ":rtc_task_queue_libevent", ":rtc_task_queue_win", ":rtc_task_queue_stdlib", + "synchronization:mutex", "synchronization:sequence_checker", ] sources = [ -- cgit v1.2.3 From de8a93599a68510fa5d4ba700e5debabfae83ad8 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Wed, 10 Jun 2020 15:40:42 +0200 Subject: Migrate logging to webrtc::Mutex. Bug: webrtc:11567 Change-Id: I5510a29cfa560d20b1f067d772cd06ee4566ea36 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176849 Commit-Queue: Markus Handell Reviewed-by: Karl Wiberg Cr-Commit-Position: refs/heads/master@{#31491} --- rtc_base/BUILD.gn | 1 + 1 file changed, 1 insertion(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 2ab25f269b..c62b3f6afe 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -243,6 +243,7 @@ rtc_library("logging") { ":platform_thread_types", ":stringutils", ":timeutils", + "synchronization:mutex", ] absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers", -- cgit v1.2.3 From c7f0dff19180367ea0c207b707d8bf98110a24d0 Mon Sep 17 00:00:00 2001 From: Sylvain Defresne Date: Fri, 3 Jul 2020 10:19:30 +0200 Subject: Convert GN libs lists to frameworks GN recently added support for Apple frameworks to link, rather than overloading the libs lists. This pulls .frameworks out of the libs lists, so that GN can stop supporting .frameworks in libs in the future. Bug: chromium:1052560 Change-Id: I263230ddd3c468061584423bba9e1f887503bcaa Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178601 Reviewed-by: Mirko Bonadei Commit-Queue: Sylvain Defresne Cr-Commit-Position: refs/heads/master@{#31632} --- rtc_base/BUILD.gn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index c62b3f6afe..fb341e2502 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -270,7 +270,7 @@ rtc_library("logging") { deps += [ "system:inline" ] if (is_mac) { - libs += [ "Foundation.framework" ] + frameworks = [ "Foundation.framework" ] } # logging.h needs the deprecation header while downstream projects are @@ -962,7 +962,7 @@ rtc_library("rtc_base") { } if (is_ios) { - libs += [ + frameworks = [ "CFNetwork.framework", "Foundation.framework", "Security.framework", -- cgit v1.2.3 From 18523c34b464600540b4b1f042d0d5519a5be953 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Wed, 8 Jul 2020 17:55:58 +0200 Subject: Migrate rtc_base to webrtc::Mutex. Bug: webrtc:11567 Change-Id: Ib8630e0cf1266e7c3f8ce718e1ed9f8848f42ec8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178806 Reviewed-by: Tommi Reviewed-by: Danil Chapovalov Commit-Queue: Markus Handell Cr-Commit-Position: refs/heads/master@{#31682} --- rtc_base/BUILD.gn | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index fb341e2502..2f0fba9eb2 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -55,6 +55,7 @@ rtc_library("rtc_base_approved") { ":type_traits", "../api:array_view", "../api:scoped_refptr", + "synchronization:mutex", "system:arch", "system:rtc_export", "system:unused", @@ -325,6 +326,7 @@ rtc_library("rate_limiter") { deps = [ ":rtc_base_approved", "../system_wrappers", + "synchronization:mutex", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } @@ -479,6 +481,7 @@ if (rtc_enable_libevent) { ":safe_conversions", ":timeutils", "../api/task_queue", + "synchronization:mutex", ] absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector", @@ -501,6 +504,7 @@ if (is_mac || is_ios) { ":checks", ":logging", "../api/task_queue", + "synchronization:mutex", "system:gcd_helpers", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] @@ -524,6 +528,7 @@ if (is_win) { ":safe_conversions", ":timeutils", "../api/task_queue", + "synchronization:mutex", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } @@ -544,6 +549,7 @@ rtc_library("rtc_task_queue_stdlib") { ":safe_conversions", ":timeutils", "../api/task_queue", + "synchronization:mutex", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } @@ -782,6 +788,7 @@ rtc_library("rtc_base") { "../api/task_queue", "../system_wrappers:field_trial", "network:sent_packet", + "synchronization:mutex", "synchronization:sequence_checker", "system:file_wrapper", "system:inline", @@ -1037,6 +1044,7 @@ rtc_library("testclient") { ":rtc_base", ":rtc_base_tests_utils", ":timeutils", + "synchronization:mutex", ] } @@ -1085,6 +1093,7 @@ rtc_library("rtc_base_tests_utils") { "../api/units:time_delta", "../api/units:timestamp", "memory:fifo_buffer", + "synchronization:mutex", "third_party/sigslot", ] absl_deps = [ @@ -1122,6 +1131,7 @@ if (rtc_include_tests) { ":rtc_base", ":rtc_base_tests_utils", "../test:test_support", + "synchronization:mutex", "third_party/sigslot", ] } @@ -1230,6 +1240,7 @@ if (rtc_include_tests) { "../test:test_main", "../test:test_support", "memory:unittests", + "synchronization:mutex", "task_utils:to_queued_task", "third_party/base64", "third_party/sigslot", -- cgit v1.2.3 From 4ab7ddeb9f8d8258d63abff275c6432d809603b3 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Fri, 10 Jul 2020 13:23:25 +0200 Subject: Migrate stray leftovers from rtc_base/ and test/ to webrtc::Mutex. Migrates cases found from manual inspection of the code. Bug: webrtc:11567 Change-Id: Ie8866435f3d3ca325e0811bf7cfb7e388ec987d4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179067 Reviewed-by: Tommi Commit-Queue: Markus Handell Cr-Commit-Position: refs/heads/master@{#31717} --- rtc_base/BUILD.gn | 1 + 1 file changed, 1 insertion(+) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 2f0fba9eb2..5ad55988e9 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -1388,6 +1388,7 @@ if (rtc_include_tests) { "../test:test_main", "../test:test_support", "memory:fifo_buffer", + "synchronization:mutex", "synchronization:synchronization_unittests", "task_utils:to_queued_task", "third_party/sigslot", -- cgit v1.2.3 From 3cb525b378fd9cb683b19b0d5f18946a85fdef34 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Thu, 16 Jul 2020 16:16:09 +0200 Subject: Rename CriticalSection to RecursiveCriticalSection. This name change communicates that the recursive critical section should not be used for new code. The relevant files are renamed rtc_base/critical_section* -> rtc_base/deprecated/recursive_critical_section* Bug: webrtc:11567 Change-Id: I73483a1c5e59c389407a981efbfc2cfe76ccdb43 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179483 Commit-Queue: Markus Handell Reviewed-by: Niels Moller Reviewed-by: Danil Chapovalov Reviewed-by: Tommi Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#31754} --- rtc_base/BUILD.gn | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'rtc_base/BUILD.gn') diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 5ad55988e9..73bca85efa 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -170,8 +170,8 @@ rtc_source_set("refcount") { rtc_library("criticalsection") { sources = [ - "critical_section.cc", - "critical_section.h", + "deprecated/recursive_critical_section.cc", + "deprecated/recursive_critical_section.h", ] deps = [ ":atomicops", @@ -179,7 +179,6 @@ rtc_library("criticalsection") { ":macromagic", ":platform_thread_types", "synchronization:yield", - "system:rtc_export", "system:unused", ] } @@ -1181,7 +1180,7 @@ if (rtc_include_tests) { "byte_order_unittest.cc", "checks_unittest.cc", "copy_on_write_buffer_unittest.cc", - "critical_section_unittest.cc", + "deprecated/recursive_critical_section_unittest.cc", "event_tracer_unittest.cc", "event_unittest.cc", "logging_unittest.cc", -- cgit v1.2.3