--- mqtt/src/daemon.c 2012/06/01 10:39:48 1.2.2.35 +++ mqtt/src/daemon.c 2012/06/19 13:55:23 1.2.2.36 @@ -261,7 +261,8 @@ startSession(sched_task_t *task) TAILQ_FOREACH(s, &Sessions, sess_node) if (!strcmp(s->sess_cid, sess->sess_cid)) { /* found stale session & disconnect it! */ - schedWrite(root, leaveClient, sess, TASK_FD(task), NULL, 0); + schedCancelby(root, taskMAX, CRITERIA_FD, (void*) s->sess_sock, NULL); + schedWrite(root, leaveClient, s, s->sess_sock, NULL, 0); break; } }