version 1.2.2.26, 2012/05/05 15:04:29
|
version 1.2.2.27, 2012/05/05 15:16:34
|
Line 153 dispatchSession(sched_task_t *task)
|
Line 153 dispatchSession(sched_task_t *task)
|
do { |
do { |
/* dispatch message type */ |
/* dispatch message type */ |
if ((len = mqtt_srv_Dispatch(sess->sess_srv, ret, sess)) < 0) { |
if ((len = mqtt_srv_Dispatch(sess->sess_srv, ret, sess)) < 0) { |
if (len == -1) | if (len == -1) { |
ioLIBERR(mqtt); |
ioLIBERR(mqtt); |
TAILQ_REMOVE(&Sessions, sess, sess_node); | finiSession(sess); |
finiSession(sess); | } else if (len == -2) { |
| TAILQ_REMOVE(&Sessions, sess, sess_node); |
| finiSession(sess); |
| } else if (len == -3) |
| schedEvent(root, startSession, NULL, (u_long) TASK_FD(task), sess, ret); |
} else |
} else |
ret -= len; |
ret -= len; |
} while (len > 0 && ret > 0); |
} while (len > 0 && ret > 0); |