Lines Matching defs:loop
57 return [&](MainLoopBase &loop) {
59 loop.RequestTermination();
72 MainLoop loop;
75 auto handle = loop.RegisterReadObject(socketpair[1], make_callback(), error);
78 ASSERT_TRUE(loop.Run().Success());
88 MainLoop loop;
91 auto handle = loop.RegisterReadObject(
107 // Terminate the loop after one second.
108 loop.AddCallback([](MainLoopBase &loop) { loop.RequestTermination(); },
110 ASSERT_THAT_ERROR(loop.Run().ToError(), llvm::Succeeded());
122 MainLoop loop;
124 auto handle0 = loop.RegisterReadObject(socketpair[0], make_callback(), error);
126 auto handle1 = loop.RegisterReadObject(socketpair[1], make_callback(), error);
129 ASSERT_TRUE(loop.Run().Success());
138 MainLoop loop;
140 auto handle = loop.RegisterReadObject(
142 [&](MainLoopBase &loop) {
143 // Both callbacks should be called before the loop terminates.
144 loop.AddPendingCallback(make_callback());
145 loop.AddPendingCallback(make_callback());
146 loop.RequestTermination();
151 ASSERT_TRUE(loop.Run().Success());
160 MainLoop loop;
162 auto handle = loop.RegisterReadObject(
164 [&](MainLoopBase &loop) {
167 loop.AddPendingCallback([&](MainLoopBase &loop) {
171 // Terminate the loop on second iteration.
173 loop.RequestTermination();
178 ASSERT_TRUE(loop.Run().Success());
184 MainLoop loop;
187 loop.AddPendingCallback([&](MainLoopBase &loop) {
196 loop.AddPendingCallback([&](MainLoopBase &loop) {
198 loop.RequestTermination();
201 ASSERT_THAT_ERROR(loop.Run().ToError(), llvm::Succeeded());
208 MainLoop loop;
212 // caused a deadlock when the pipe filled up (either because the main loop was
216 loop.AddPendingCallback(
217 [&](MainLoopBase &loop) { loop.RequestTermination(); });
218 ASSERT_TRUE(loop.Run().Success());
222 MainLoop loop;
223 loop.AddCallback([](MainLoopBase &loop) { loop.RequestTermination(); },
226 ASSERT_THAT_ERROR(loop.Run().takeError(), llvm::Succeeded());
231 MainLoop loop;
236 loop.AddCallback([&order, id](MainLoopBase &) { order.push_back(id); },
243 loop.AddCallback([](MainLoopBase &loop) { loop.RequestTermination(); },
245 ASSERT_THAT_ERROR(loop.Run().takeError(), llvm::Succeeded());
251 MainLoop loop;
254 loop.AddCallback(
255 [&](MainLoopBase &loop) {
257 loop.RequestTermination();
261 std::async(std::launch::async, &MainLoop::Run, std::ref(loop));
264 loop.AddCallback(
265 [&](MainLoopBase &loop) {
267 loop.RequestTermination();
286 MainLoop loop;
288 loop.RegisterReadObject(conn->GetReadObject(), make_callback(), error);
292 ASSERT_TRUE(loop.Run().Success());
297 MainLoop loop;
300 auto handle = loop.RegisterSignal(SIGUSR1, make_callback(), error);
303 ASSERT_TRUE(loop.Run().Success());
308 MainLoop loop;
311 auto handle = loop.RegisterSignal(SIGUSR1, make_callback(), error);
314 ASSERT_TRUE(loop.Run().Success());
321 MainLoop loop;
329 auto handle = loop.RegisterSignal(SIGUSR1, make_callback(), error);
333 ASSERT_TRUE(loop.Run().Success());
340 MainLoop loop;
345 auto handle = loop.RegisterSignal(SIGUSR1, make_callback(), error);
350 auto handle2 = loop.RegisterSignal(
351 SIGUSR1, [&](MainLoopBase &loop) { ++callback2_count; }, error);
355 ASSERT_TRUE(loop.Run().Success());
363 auto handle3 = loop.RegisterSignal(
364 SIGUSR1, [&](MainLoopBase &loop) { ++callback3_count; }, error);
368 ASSERT_TRUE(loop.Run().Success());
376 ASSERT_TRUE(loop.Run().Success());