|
|
| 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); |