xref: /llvm-project/lldb/test/API/tools/lldb-dap/extendedStackTrace/main.m (revision 5b4100cc354148a1140546e7f5ac2bf380bc5eff)
1*5b4100ccSJohn Harrison#import <dispatch/dispatch.h>
2*5b4100ccSJohn Harrison#include <stdio.h>
3*5b4100ccSJohn Harrison
4*5b4100ccSJohn Harrisonvoid one() {
5*5b4100ccSJohn Harrison  printf("one...\n"); // breakpoint 1
6*5b4100ccSJohn Harrison}
7*5b4100ccSJohn Harrison
8*5b4100ccSJohn Harrisonvoid two() {
9*5b4100ccSJohn Harrison  printf("two...\n");
10*5b4100ccSJohn Harrison  one();
11*5b4100ccSJohn Harrison}
12*5b4100ccSJohn Harrison
13*5b4100ccSJohn Harrisonvoid three() {
14*5b4100ccSJohn Harrison  printf("three...\n");
15*5b4100ccSJohn Harrison  two();
16*5b4100ccSJohn Harrison}
17*5b4100ccSJohn Harrison
18*5b4100ccSJohn Harrisonint main(int argc, char *argv[]) {
19*5b4100ccSJohn Harrison  printf("main...\n");
20*5b4100ccSJohn Harrison  // Nest from main queue > global queue > main queue.
21*5b4100ccSJohn Harrison  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
22*5b4100ccSJohn Harrison                 ^{
23*5b4100ccSJohn Harrison                   dispatch_async(dispatch_get_main_queue(), ^{
24*5b4100ccSJohn Harrison                     three();
25*5b4100ccSJohn Harrison                   });
26*5b4100ccSJohn Harrison                 });
27*5b4100ccSJohn Harrison  dispatch_main();
28*5b4100ccSJohn Harrison}
29