+ //
+ // this can be only used to exit the currently running loop, use
+ // ScheduleExit() if this might not be the case
+ virtual void Exit(int rc = 0);
+
+ // ask the event loop to exit with the given exit code, can be used even if
+ // this loop is not running right now but the loop must have been started,
+ // i.e. Run() should have been already called
+ virtual void ScheduleExit(int rc = 0) = 0;