diff --git a/CHANGELOG b/CHANGELOG index 880b55b..c7d7483 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -17,6 +17,7 @@ - make masked_match independent of hostname for exports comparison. - fix file handle leak in nsswitch parser. - fix memory leak in mount and expire request processing. +- add additional check to prevent running of cancelled tasks. 1/9/2006 autofs-5.0.1 rc2 ------------------------- diff --git a/daemon/state.c b/daemon/state.c index f3cf848..ea13114 100644 --- a/daemon/state.c +++ b/daemon/state.c @@ -882,6 +882,12 @@ static void *st_queue_handler(void *arg) task = list_entry(p, struct state_queue, list); p = p->next; + if (task->cancel) { + list_del(&task->list); + free(task); + continue; + } + task->busy = 1; ret = run_state_task(task); diff --git a/lib/alarm.c b/lib/alarm.c index 89c9bc8..8d8a140 100755 --- a/lib/alarm.c +++ b/lib/alarm.c @@ -204,9 +204,7 @@ static void *alarm_handler(void *arg) } state_mutex_lock(ap); - nextstate(ap->state_pipe[1], ST_EXPIRE); - state_mutex_unlock(ap); free(current);