--- embedtools/src/butz.c 2014/02/08 17:07:40 1.1.2.5 +++ embedtools/src/butz.c 2014/02/08 18:25:31 1.1.2.6 @@ -141,16 +141,16 @@ butReset(sched_task_t *task) goto end; } /* switch on */ - if (!req.gp_value) + if (flg != -1 && !req.gp_value) if (++flg == 1) schedSuspend(TASK_ROOT(task), execReset, NULL, flg, NULL, 0); if (defact && flg >= defact) { schedCancelby(TASK_ROOT(task), taskSUSPEND, CRITERIA_CALL, execReset, NULL); schedEvent(TASK_ROOT(task), execDefault, NULL, flg, NULL, 0); - flg ^= flg; + flg = -1; goto end; } - if (flg && req.gp_value) + if (flg > 0 && req.gp_value) schedResumeby(TASK_ROOT(task), CRITERIA_ID, (void*) 1); end: schedTimer(TASK_ROOT(task), TASK_FUNC(task), TASK_ARG(task),