--- mqtt/src/daemon.c 2012/04/26 09:15:26 1.2.2.18 +++ mqtt/src/daemon.c 2012/05/03 14:00:33 1.2.2.21 @@ -126,10 +126,10 @@ stopSession(struct tagSession *sess) free(msg.msg_base); ioDEBUG(1, "Close socket=%d", sess->sess_sock); - finiSession(sess); - call.LOG(logg, "Session %s stopped from %s for user %s.\n", sess->sess_cid, sess->sess_addr, sess->sess_user); + + finiSession(sess); } static void * @@ -176,6 +176,9 @@ thrSession(struct tagSession *sess) finiSession(sess); locKill ^= locKill; continue; + case MQTT_TYPE_SUBSCRIBE: + case MQTT_TYPE_PINGREQ: + break; case MQTT_TYPE_PUBLISH: ioDEBUG(5, "Exec PUBLISH topic QoS=%d", hdr->mqtt_msg.qos); /* @@ -185,16 +188,8 @@ thrSession(struct tagSession *sess) break; case MQTT_TYPE_PUBREL: break; - case MQTT_TYPE_SUBSCRIBE: - break; case MQTT_TYPE_UNSUBSCRIBE: break; - case MQTT_TYPE_PINGREQ: - ioDEBUG(5, "Exec PINGREQ session"); - break; - case MQTT_TYPE_PINGRESP: - ioDEBUG(5, "Exec PINGRESP session"); - break; default: ioDEBUG(5, "Error:: Session %s, wrong command %d - DISCARDED", sess->sess_cid, hdr->mqtt_msg.type); @@ -341,7 +336,7 @@ acceptClient(sched_task_t *task) if ((cli = accept(TASK_FD(task), &sa.sa, &sslen)) == -1) goto end; else - fcntl(TASK_FD(task), F_SETFL, fcntl(TASK_FD(task), F_GETFL, 0) | O_NONBLOCK); + fcntl(cli, F_SETFL, fcntl(cli, F_GETFL, 0) | O_NONBLOCK); v = io_allocVar(); if (!v) {