xref: /petsc/src/sys/tests/ex30.c (revision df4cd43f92eaa320656440c40edb1046daee8f75)
1 
2 static char help[] = "Tests nested events.\n\n";
3 
4 #include <petscsys.h>
5 
6 int main(int argc, char **argv)
7 {
8   int event1, event2, event3;
9 
10   PetscFunctionBeginUser;
11   PetscCall(PetscInitialize(&argc, &argv, (char *)0, help));
12   PetscCall(PetscLogEventRegister("Event2", 0, &event2));
13   PetscCall(PetscLogEventRegister("Event1", 0, &event1));
14   PetscCall(PetscLogEventRegister("Event3", 0, &event3));
15 
16   PetscCall(PetscLogEventBegin(event1, 0, 0, 0, 0));
17   PetscCall(PetscSleep(1.0));
18   PetscCall(PetscLogEventBegin(event2, 0, 0, 0, 0));
19   PetscCall(PetscSleep(1.0));
20   PetscCall(PetscLogEventBegin(event3, 0, 0, 0, 0));
21   PetscCall(PetscSleep(1.0));
22   PetscCall(PetscLogEventEnd(event3, 0, 0, 0, 0));
23   PetscCall(PetscLogEventEnd(event2, 0, 0, 0, 0));
24   PetscCall(PetscLogEventEnd(event1, 0, 0, 0, 0));
25   PetscCall(PetscFinalize());
26   return 0;
27 }
28