diff --git a/src/main.c b/src/main.c index 8b30913d9523b58265338285c41704a842f7f865..bd0c7ec5e4044a4cd7fd3463dc00788dd3ed83db 100644 --- a/src/main.c +++ b/src/main.c @@ -30,11 +30,18 @@ int main() TD* FirstUserTask= CreateTask(&Colonel, Prio4, (void *) (&firstUserTaskChildren)); pushToScheduler(&Colonel, FirstUserTask); TD* Task; + int ReturnValue = 0; FOREVER { - Task = getNextTaskScheduler(&Colonel); + if(Colonel.Active == NULL){ + ReturnValue = 0; + Task = getNextTaskScheduler(&Colonel); + }else{ + Task = Colonel.Active; + ReturnValue = Task->RetVal; + } bwprintf(COM2,"task = %d\n\r",Task); if(Task == NULL) break; - req = Activate(&Colonel,Task,0); + req = Activate(&Colonel,Task,ReturnValue); Handle(&Colonel, req); } return 0;