Actual source code: ex30.c


  2: static char help[] = "Tests nested events.\n\n";

  4: #include <petscsys.h>

  6: int main(int argc, char **argv)
  7: {
  8:   int event1, event2, event3;

 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));

 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: }