Add default constructor for rtc::Event
Bug: webrtc:9962
Change-Id: Icaa91e657e6881fcb1553f354c07866109a0ea68
Reviewed-on: https://webrtc-review.googlesource.com/c/109500
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25535}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 2adeace..7f05dc4 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -263,7 +263,6 @@
rtc_source_set("rtc_event") {
deps = [
":checks",
- ":macromagic",
]
if (build_with_chromium) {
diff --git a/rtc_base/asyncinvoker.cc b/rtc_base/asyncinvoker.cc
index e255fb9..f0dd188 100644
--- a/rtc_base/asyncinvoker.cc
+++ b/rtc_base/asyncinvoker.cc
@@ -17,7 +17,7 @@
AsyncInvoker::AsyncInvoker()
: pending_invocations_(0),
- invocation_complete_(new RefCountedObject<Event>(false, false)),
+ invocation_complete_(new RefCountedObject<Event>()),
destroying_(false) {}
AsyncInvoker::~AsyncInvoker() {
diff --git a/rtc_base/cancelable_periodic_task_unittest.cc b/rtc_base/cancelable_periodic_task_unittest.cc
index fe27ea7..badd6234 100644
--- a/rtc_base/cancelable_periodic_task_unittest.cc
+++ b/rtc_base/cancelable_periodic_task_unittest.cc
@@ -68,7 +68,7 @@
}
TEST(CancelablePeriodicTaskTest, CancelTaskBeforeItRuns) {
- rtc::Event done(false, false);
+ rtc::Event done;
MockClosure mock;
EXPECT_CALL(mock, Call).Times(0);
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
@@ -84,7 +84,7 @@
}
TEST(CancelablePeriodicTaskTest, CancelDelayedTaskBeforeItRuns) {
- rtc::Event done(false, false);
+ rtc::Event done;
MockClosure mock;
EXPECT_CALL(mock, Call).Times(0);
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
@@ -100,7 +100,7 @@
}
TEST(CancelablePeriodicTaskTest, CancelTaskAfterItRuns) {
- rtc::Event done(false, false);
+ rtc::Event done;
MockClosure mock;
EXPECT_CALL(mock, Call).WillOnce(Return(100));
EXPECT_CALL(mock, Delete).WillOnce(Invoke([&done] { done.Set(); }));
@@ -117,7 +117,7 @@
TEST(CancelablePeriodicTaskTest, ZeroReturnValueRepostsTheTask) {
NiceMock<MockClosure> closure;
- rtc::Event done(false, false);
+ rtc::Event done;
EXPECT_CALL(closure, Call()).WillOnce(Return(0)).WillOnce(Invoke([&done] {
done.Set();
return kTimeoutMs;
@@ -130,7 +130,7 @@
TEST(CancelablePeriodicTaskTest, StartPeriodicTask) {
MockFunction<int()> closure;
- rtc::Event done(false, false);
+ rtc::Event done;
EXPECT_CALL(closure, Call())
.WillOnce(Return(20))
.WillOnce(Return(20))
@@ -146,7 +146,7 @@
// Validates perfect forwarding doesn't keep reference to deleted copy.
TEST(CancelablePeriodicTaskTest, CreateWithCopyOfAClosure) {
- rtc::Event done(false, false);
+ rtc::Event done;
MockClosure mock;
EXPECT_CALL(mock, Call).WillOnce(Invoke([&done] {
done.Set();
@@ -166,7 +166,7 @@
}
TEST(CancelablePeriodicTaskTest, DeletingHandleDoesntStopTheTask) {
- rtc::Event run(false, false);
+ rtc::Event run;
rtc::TaskQueue task_queue("queue");
auto task = rtc::CreateCancelablePeriodicTask(([&] {
run.Set();
diff --git a/rtc_base/criticalsection_unittest.cc b/rtc_base/criticalsection_unittest.cc
index db4f9e7..6016f85 100644
--- a/rtc_base/criticalsection_unittest.cc
+++ b/rtc_base/criticalsection_unittest.cc
@@ -389,7 +389,7 @@
// The test is disabled by default to avoid unecessarily loading the bots.
TEST(CriticalSectionTest, DISABLED_Performance) {
PerfTestThread threads[8];
- Event event(false, false);
+ Event event;
static const int kThreadRepeats = 10000000;
static const int kExpectedCount = kThreadRepeats * arraysize(threads);
diff --git a/rtc_base/event.cc b/rtc_base/event.cc
index 6c9639b..42c22a2 100644
--- a/rtc_base/event.cc
+++ b/rtc_base/event.cc
@@ -24,6 +24,8 @@
namespace rtc {
+Event::Event() : Event(false, false) {}
+
#if defined(WEBRTC_WIN)
Event::Event(bool manual_reset, bool initially_signaled) {
diff --git a/rtc_base/event.h b/rtc_base/event.h
index 7e61c4c..2e11002 100644
--- a/rtc_base/event.h
+++ b/rtc_base/event.h
@@ -11,7 +11,6 @@
#ifndef RTC_BASE_EVENT_H_
#define RTC_BASE_EVENT_H_
-#include "rtc_base/constructormagic.h"
#if defined(WEBRTC_WIN)
#include <windows.h>
#elif defined(WEBRTC_POSIX)
@@ -26,7 +25,10 @@
public:
static const int kForever = -1;
+ Event();
Event(bool manual_reset, bool initially_signaled);
+ Event(const Event&) = delete;
+ Event& operator=(const Event&) = delete;
~Event();
void Set();
@@ -45,8 +47,6 @@
const bool is_manual_reset_;
bool event_status_;
#endif
-
- RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Event);
};
// This class is provided for compatibility with Chromium.
diff --git a/rtc_base/event_tracer.cc b/rtc_base/event_tracer.cc
index 201abdd..af88c9d 100644
--- a/rtc_base/event_tracer.cc
+++ b/rtc_base/event_tracer.cc
@@ -90,8 +90,7 @@
: logging_thread_(EventTracingThreadFunc,
this,
"EventTracingThread",
- kLowPriority),
- shutdown_event_(false, false) {}
+ kLowPriority) {}
~EventLogger() { RTC_DCHECK(thread_checker_.CalledOnValidThread()); }
void AddTraceEvent(const char* name,
diff --git a/rtc_base/event_unittest.cc b/rtc_base/event_unittest.cc
index 050619e..a65111b 100644
--- a/rtc_base/event_unittest.cc
+++ b/rtc_base/event_unittest.cc
@@ -32,7 +32,7 @@
}
TEST(EventTest, AutoReset) {
- Event event(false, false);
+ Event event;
ASSERT_FALSE(event.Wait(0));
event.Set();
@@ -59,7 +59,7 @@
me->reader_->Wait(Event::kForever);
}
}
- Event stop_event_{false, false};
+ Event stop_event_;
Event* writer_;
Event* reader_;
PlatformThread thread_;
@@ -68,7 +68,7 @@
// These tests are disabled by default and only intended to be run manually.
TEST(EventTest, DISABLED_PerformanceSingleThread) {
static const int kNumIterations = 10000000;
- Event event(false, false);
+ Event event;
for (int i = 0; i < kNumIterations; ++i) {
event.Set();
event.Wait(0);
@@ -77,8 +77,8 @@
TEST(EventTest, DISABLED_PerformanceMultiThread) {
static const int kNumIterations = 10000;
- Event read(false, false);
- Event write(false, false);
+ Event read;
+ Event write;
SignalerThread thread;
thread.Start(&read, &write);
diff --git a/rtc_base/logging_unittest.cc b/rtc_base/logging_unittest.cc
index a475e52..4de1cf2 100644
--- a/rtc_base/logging_unittest.cc
+++ b/rtc_base/logging_unittest.cc
@@ -292,7 +292,7 @@
static void ThreadEntry(void* p) { static_cast<LogThread*>(p)->Run(); }
PlatformThread thread_;
- Event event_{false, false};
+ Event event_;
};
// Ensure we don't crash when adding/removing streams while threads are going.
diff --git a/rtc_base/nullsocketserver.cc b/rtc_base/nullsocketserver.cc
index c890c6f..ec042dd 100644
--- a/rtc_base/nullsocketserver.cc
+++ b/rtc_base/nullsocketserver.cc
@@ -13,7 +13,7 @@
namespace rtc {
-NullSocketServer::NullSocketServer() : event_(false, false) {}
+NullSocketServer::NullSocketServer() = default;
NullSocketServer::~NullSocketServer() {}
bool NullSocketServer::Wait(int cms, bool process_io) {
diff --git a/rtc_base/rate_limiter_unittest.cc b/rtc_base/rate_limiter_unittest.cc
index 6efea54..ac0625f 100644
--- a/rtc_base/rate_limiter_unittest.cc
+++ b/rtc_base/rate_limiter_unittest.cc
@@ -112,9 +112,7 @@
class ThreadTask {
public:
explicit ThreadTask(RateLimiter* rate_limiter)
- : rate_limiter_(rate_limiter),
- start_signal_(false, false),
- end_signal_(false, false) {}
+ : rate_limiter_(rate_limiter) {}
virtual ~ThreadTask() {}
void Run() {
diff --git a/rtc_base/sequenced_task_checker_unittest.cc b/rtc_base/sequenced_task_checker_unittest.cc
index 83fb14f..7b7247c 100644
--- a/rtc_base/sequenced_task_checker_unittest.cc
+++ b/rtc_base/sequenced_task_checker_unittest.cc
@@ -44,7 +44,6 @@
CallCalledSequentiallyOnThread(bool expect_true,
SequencedTaskChecker* sequenced_task_checker)
: expect_true_(expect_true),
- thread_has_run_event_(false, false),
thread_(&Run, this, "call_do_stuff_on_thread"),
sequenced_task_checker_(sequenced_task_checker) {
thread_.Start();
@@ -78,7 +77,6 @@
explicit DeleteSequencedCheckerOnThread(
std::unique_ptr<SequencedTaskChecker> sequenced_task_checker)
: thread_(&Run, this, "delete_sequenced_task_checker_on_thread"),
- thread_has_run_event_(false, false),
sequenced_task_checker_(std::move(sequenced_task_checker)) {
thread_.Start();
}
@@ -119,7 +117,7 @@
static const char kQueueName[] = "MethodNotAllowedOnDifferentTq";
TaskQueue queue(kQueueName);
- Event done_event(false, false);
+ Event done_event;
queue.PostTask([&sequenced_task_checker, &done_event, expect_true] {
if (expect_true)
EXPECT_TRUE(sequenced_task_checker->CalledSequentially());
@@ -136,7 +134,7 @@
sequenced_task_checker->Detach();
- Event done_event(false, false);
+ Event done_event;
TaskQueue queue1("DetachThenCallFromDifferentTaskQueueImpl1");
queue1.PostTask([&sequenced_task_checker, &done_event] {
EXPECT_TRUE(sequenced_task_checker->CalledSequentially());
@@ -194,7 +192,7 @@
sequenced_task_checker->Detach();
static const char kQueueName[] = "DetachFromThreadAndUseOnTaskQueue";
TaskQueue queue(kQueueName);
- Event done_event(false, false);
+ Event done_event;
queue.PostTask([&sequenced_task_checker, &done_event] {
EXPECT_TRUE(sequenced_task_checker->CalledSequentially());
done_event.Set();
@@ -204,7 +202,7 @@
TEST(SequencedTaskCheckerTest, DetachFromTaskQueueAndUseOnThread) {
TaskQueue queue("DetachFromTaskQueueAndUseOnThread");
- Event done_event(false, false);
+ Event done_event;
queue.PostTask([&done_event] {
std::unique_ptr<SequencedTaskChecker> sequenced_task_checker(
new SequencedTaskChecker());
@@ -272,7 +270,7 @@
TestAnnotations annotations;
static const char kQueueName[] = "TestAnnotationsOnWrongQueueDebug";
TaskQueue queue(kQueueName);
- Event done_event(false, false);
+ Event done_event;
queue.PostTask([&annotations, &done_event] {
annotations.ModifyTestVar();
done_event.Set();
diff --git a/rtc_base/task_queue_for_test.h b/rtc_base/task_queue_for_test.h
index 70c58fb..9162e81 100644
--- a/rtc_base/task_queue_for_test.h
+++ b/rtc_base/task_queue_for_test.h
@@ -33,7 +33,7 @@
template <class Closure>
void SendTask(Closure* task) {
RTC_DCHECK(!IsCurrent());
- rtc::Event event(false, false);
+ rtc::Event event;
PostTask(rtc::NewClosure(
[&task]() {
RTC_CHECK_EQ(false, static_cast<QueuedTask*>(task)->Run());
@@ -47,7 +47,7 @@
template <class Closure>
void SendTask(Closure&& task) {
RTC_DCHECK(!IsCurrent());
- rtc::Event event(false, false);
+ rtc::Event event;
PostTask(rtc::NewClosure(std::move(task), [&event]() { event.Set(); }));
event.Wait(rtc::Event::kForever);
}
diff --git a/rtc_base/task_queue_unittest.cc b/rtc_base/task_queue_unittest.cc
index cedf68e..0af39a5 100644
--- a/rtc_base/task_queue_unittest.cc
+++ b/rtc_base/task_queue_unittest.cc
@@ -64,7 +64,7 @@
TEST(TaskQueueTest, PostAndCheckCurrent) {
static const char kQueueName[] = "PostAndCheckCurrent";
- Event event(false, false);
+ Event event;
TaskQueue queue(kQueueName);
// We're not running a task, so there shouldn't be a current queue.
@@ -106,7 +106,7 @@
TEST(TaskQueueTest, PostDelayedZero) {
static const char kQueueName[] = "PostDelayedZero";
- Event event(false, false);
+ Event event;
TaskQueue queue(kQueueName);
queue.PostDelayedTask([&event]() { event.Set(); }, 0);
@@ -115,7 +115,7 @@
TEST(TaskQueueTest, PostFromQueue) {
static const char kQueueName[] = "PostFromQueue";
- Event event(false, false);
+ Event event;
TaskQueue queue(kQueueName);
queue.PostTask(
@@ -125,7 +125,7 @@
TEST(TaskQueueTest, PostDelayed) {
static const char kQueueName[] = "PostDelayed";
- Event event(false, false);
+ Event event;
TaskQueue queue(kQueueName, TaskQueue::Priority::HIGH);
uint32_t start = Time();
@@ -145,7 +145,7 @@
EnableHighResTimers high_res_scope;
static const char kQueueName[] = "PostDelayedHighRes";
- Event event(false, false);
+ Event event;
TaskQueue queue(kQueueName, TaskQueue::Priority::HIGH);
uint32_t start = Time();
@@ -165,7 +165,7 @@
std::vector<std::unique_ptr<Event>> events;
for (int i = 0; i < 100; ++i) {
- events.push_back(std::unique_ptr<Event>(new Event(false, false)));
+ events.push_back(absl::make_unique<Event>());
queue.PostDelayedTask(Bind(&CheckCurrent, events.back().get(), &queue), i);
}
@@ -175,8 +175,8 @@
TEST(TaskQueueTest, PostDelayedAfterDestruct) {
static const char kQueueName[] = "PostDelayedAfterDestruct";
- Event run(false, false);
- Event deleted(false, false);
+ Event run;
+ Event deleted;
{
TaskQueue queue(kQueueName);
queue.PostDelayedTask(
@@ -191,7 +191,7 @@
TEST(TaskQueueTest, PostAndReply) {
static const char kPostQueue[] = "PostQueue";
static const char kReplyQueue[] = "ReplyQueue";
- Event event(false, false);
+ Event event;
TaskQueue post_queue(kPostQueue);
TaskQueue reply_queue(kReplyQueue);
@@ -204,7 +204,7 @@
TEST(TaskQueueTest, PostAndReuse) {
static const char kPostQueue[] = "PostQueue";
static const char kReplyQueue[] = "ReplyQueue";
- Event event(false, false);
+ Event event;
TaskQueue post_queue(kPostQueue);
TaskQueue reply_queue(kReplyQueue);
@@ -251,7 +251,7 @@
TEST(TaskQueueTest, PostAndReplyLambda) {
static const char kPostQueue[] = "PostQueue";
static const char kReplyQueue[] = "ReplyQueue";
- Event event(false, false);
+ Event event;
TaskQueue post_queue(kPostQueue);
TaskQueue reply_queue(kReplyQueue);
@@ -287,7 +287,7 @@
int num_copies = 0;
int num_moves = 0;
- Event event(false, false);
+ Event event;
static const char kPostQueue[] = "PostCopyableClosure";
TaskQueue post_queue(kPostQueue);
@@ -323,7 +323,7 @@
};
int num_moves = 0;
- Event event(false, false);
+ Event event;
std::unique_ptr<SomeState> state(new SomeState(&event));
static const char kPostQueue[] = "PostMoveOnlyClosure";
@@ -346,8 +346,8 @@
std::unique_ptr<SomeState> state;
};
- Event event_run(false, false);
- Event event_cleanup(false, false);
+ Event event_run;
+ Event event_cleanup;
std::unique_ptr<SomeState> state_run(new SomeState(&event_run));
std::unique_ptr<SomeState> state_cleanup(new SomeState(&event_cleanup));
@@ -367,7 +367,7 @@
// written in a way that makes it likely and by running with --gtest_repeat=1000
// the bug would occur. Alas, now it should be fixed.
TEST(TaskQueueTest, PostAndReplyDeadlock) {
- Event event(false, false);
+ Event event;
TaskQueue post_queue("PostQueue");
TaskQueue reply_queue("ReplyQueue");
@@ -384,8 +384,8 @@
#define MAYBE_DeleteTaskQueueAfterPostAndReply DeleteTaskQueueAfterPostAndReply
#endif
TEST(TaskQueueTest, MAYBE_DeleteTaskQueueAfterPostAndReply) {
- Event task_deleted(false, false);
- Event reply_deleted(false, false);
+ Event task_deleted;
+ Event reply_deleted;
auto* task_queue = new TaskQueue("Queue");
task_queue->PostTaskAndReply(
@@ -413,7 +413,7 @@
TEST(TaskQueueTest, PostAndReply2) {
static const char kQueueName[] = "PostAndReply2";
static const char kWorkQueueName[] = "PostAndReply2_Worker";
- Event event(false, false);
+ Event event;
TaskQueue queue(kQueueName);
TaskQueue work_queue(kWorkQueueName);
@@ -425,7 +425,7 @@
// In situations like that, tasks will get dropped.
TEST(TaskQueueTest, PostALot) {
// To destruct the event after the queue has gone out of scope.
- Event event(false, false);
+ Event event;
int tasks_executed = 0;
int tasks_cleaned_up = 0;
diff --git a/rtc_base/thread_unittest.cc b/rtc_base/thread_unittest.cc
index dc509b5..7e392af 100644
--- a/rtc_base/thread_unittest.cc
+++ b/rtc_base/thread_unittest.cc
@@ -470,9 +470,9 @@
// Use these events to get in a state where the functor is in the middle of
// executing, and then to wait for it to finish, ensuring the "EXPECT_FALSE"
// is run.
- Event functor_started(false, false);
- Event functor_continue(false, false);
- Event functor_finished(false, false);
+ Event functor_started;
+ Event functor_continue;
+ Event functor_finished;
auto thread = Thread::CreateWithSocketServer();
thread->Start();
@@ -507,7 +507,7 @@
// destroyed. This shouldn't deadlock or crash; this second invocation should
// just be ignored.
TEST_F(AsyncInvokeTest, KillInvokerDuringExecuteWithReentrantInvoke) {
- Event functor_started(false, false);
+ Event functor_started;
// Flag used to verify that the recursively invoked task never actually runs.
bool reentrant_functor_run = false;
diff --git a/rtc_base/timeutils_unittest.cc b/rtc_base/timeutils_unittest.cc
index 0e1949a..577efda 100644
--- a/rtc_base/timeutils_unittest.cc
+++ b/rtc_base/timeutils_unittest.cc
@@ -262,7 +262,7 @@
worker->Start();
// Post an event that won't be executed for 10 seconds.
- Event message_handler_dispatched(false, false);
+ Event message_handler_dispatched;
auto functor = [&message_handler_dispatched] {
message_handler_dispatched.Set();
};
diff --git a/rtc_base/virtualsocketserver.cc b/rtc_base/virtualsocketserver.cc
index 53dad46..7969411 100644
--- a/rtc_base/virtualsocketserver.cc
+++ b/rtc_base/virtualsocketserver.cc
@@ -525,7 +525,6 @@
VirtualSocketServer::VirtualSocketServer(FakeClock* fake_clock)
: fake_clock_(fake_clock),
- wakeup_(/*manual_reset=*/false, /*initially_signaled=*/false),
msg_queue_(nullptr),
stop_on_idle_(false),
next_ipv4_(kInitialNextIPv4),
diff --git a/rtc_base/weak_ptr_unittest.cc b/rtc_base/weak_ptr_unittest.cc
index 9541718..66f2b4d 100644
--- a/rtc_base/weak_ptr_unittest.cc
+++ b/rtc_base/weak_ptr_unittest.cc
@@ -202,7 +202,7 @@
std::unique_ptr<T> NewObjectCreatedOnTaskQueue() {
std::unique_ptr<T> obj;
TaskQueue queue("NewObjectCreatedOnTaskQueue");
- Event event(false, false);
+ Event event;
queue.PostTask([&event, &obj] {
obj.reset(new T());
event.Set();
@@ -229,7 +229,7 @@
// Create weak ptr on main thread
WeakPtr<Target> weak_ptr = target->factory.GetWeakPtr();
rtc::TaskQueue queue("queue");
- rtc::Event done(false, false);
+ rtc::Event done;
queue.PostTask([&] {
// Dereference and invalide weak_ptr on another thread.
EXPECT_EQ(weak_ptr.get(), target.get());