X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=client%2Fclient.c;h=ce1d1f2164a805ccc9bbb97739bf93e2581379c5;hb=09b207a39b7791098daafd7d87c3ad9d3db3e19f;hp=59c611fd87f0a11d747549ab573771e2038923c5;hpb=dcd48012f6e95d649b8fe3d0cd050ac1bdeafaf6;p=mTask.git diff --git a/client/client.c b/client/client.c index 59c611f..ce1d1f2 100644 --- a/client/client.c +++ b/client/client.c @@ -45,7 +45,12 @@ void read_message(void) break; case MSG_DEL_TASK: debug("Receiving a delete task request"); - task_delete(); + c = read16(); + task_delete(c); + //Write acknowledgement + write_byte('d'); + write16(c); + write_byte('\n'); break; case MSG_GET_TASK: debug("Receiving a task"); @@ -79,13 +84,10 @@ void loop(void) #endif debug("Loop"); - struct task *t; - long cyclestart; - read_message(); //Run tasks - cyclestart = getmillis(); + unsigned long cyclestart = getmillis(); for(struct task *t = task_head(); t != NULL; t = task_next(t)){ //interrupt task if(is_interrupt_task(t) && had_interrupt(t)){ @@ -97,9 +99,9 @@ void loop(void) run_task(t); //Oneshot task, thus disable -// if(t->interval == 0){ -// curtask->used = false; -// } + if(t->interval == 0){ + task_delete(t->taskid); + } t->lastrun = cyclestart; } }