1bfe73648SShuo Chen#include "EventLoop.h"
2bfe73648SShuo Chen#include <stdio.h>
3bfe73648SShuo Chen
4bfe73648SShuo Chenmuduo::EventLoop* g_loop;
5bfe73648SShuo Chenint g_flag = 0;
6bfe73648SShuo Chen
7bfe73648SShuo Chenvoid run4()
8bfe73648SShuo Chen{
9bfe73648SShuo Chen  printf("run4(): pid = %d, flag = %d\n", getpid(), g_flag);
10bfe73648SShuo Chen  g_loop->quit();
11bfe73648SShuo Chen}
12bfe73648SShuo Chen
13bfe73648SShuo Chenvoid run3()
14bfe73648SShuo Chen{
15bfe73648SShuo Chen  printf("run3(): pid = %d, flag = %d\n", getpid(), g_flag);
16bfe73648SShuo Chen  g_loop->runAfter(3, run4);
17bfe73648SShuo Chen  g_flag = 3;
18bfe73648SShuo Chen}
19bfe73648SShuo Chen
20bfe73648SShuo Chenvoid run2()
21bfe73648SShuo Chen{
22bfe73648SShuo Chen  printf("run2(): pid = %d, flag = %d\n", getpid(), g_flag);
23bfe73648SShuo Chen  g_loop->queueInLoop(run3);
24bfe73648SShuo Chen}
25bfe73648SShuo Chen
26bfe73648SShuo Chenvoid run1()
27bfe73648SShuo Chen{
28bfe73648SShuo Chen  g_flag = 1;
29bfe73648SShuo Chen  printf("run1(): pid = %d, flag = %d\n", getpid(), g_flag);
30bfe73648SShuo Chen  g_loop->runInLoop(run2);
31bfe73648SShuo Chen  g_flag = 2;
32bfe73648SShuo Chen}
33bfe73648SShuo Chen
34bfe73648SShuo Chenint main()
35bfe73648SShuo Chen{
36bfe73648SShuo Chen  printf("main(): pid = %d, flag = %d\n", getpid(), g_flag);
37bfe73648SShuo Chen
38bfe73648SShuo Chen  muduo::EventLoop loop;
39bfe73648SShuo Chen  g_loop = &loop;
40bfe73648SShuo Chen
41bfe73648SShuo Chen  loop.runAfter(2, run1);
42bfe73648SShuo Chen  loop.loop();
43bfe73648SShuo Chen  printf("main(): pid = %d, flag = %d\n", getpid(), g_flag);
44bfe73648SShuo Chen}
45