Diff for /mqtt/src/daemon.c between versions 1.2.2.30 and 1.2.2.32

version 1.2.2.30, 2012/05/08 14:36:10 version 1.2.2.32, 2012/05/22 14:15:04
Line 186  startSession(sched_task_t *task) Line 186  startSession(sched_task_t *task)
         mqtt_msg_t buf = { basebuf, sizeof basebuf };          mqtt_msg_t buf = { basebuf, sizeof basebuf };
         mqtthdr_connflgs_t flg;          mqtthdr_connflgs_t flg;
         mqtthdr_connack_t cack;          mqtthdr_connack_t cack;
           ait_val_t *v;
         struct tagSession *s, *sess = NULL;          struct tagSession *s, *sess = NULL;
         int ret, wlen;          int ret, wlen;
   
Line 194  startSession(sched_task_t *task) Line 195  startSession(sched_task_t *task)
         assert(task);          assert(task);
   
         if (!TASK_DATA(task)) {          if (!TASK_DATA(task)) {
                   v = TASK_ARG(task);
                 /* flow from accept new clients */                  /* flow from accept new clients */
                sess = initSession(TASK_FD(task), TASK_ARG(task));                sess = initSession(TASK_FD(task), v);
                io_freeVar(TASK_ARG(task));                io_freeVar(&v);
                 if (!sess) {                  if (!sess) {
                         close(TASK_FD(task));                          close(TASK_FD(task));
                         return NULL;                          return NULL;
Line 330  acceptClient(sched_task_t *task) Line 332  acceptClient(sched_task_t *task)
         ioDEBUG(1, "Connected client with socket=%d from %s", cli, AIT_GET_STR(v));          ioDEBUG(1, "Connected client with socket=%d from %s", cli, AIT_GET_STR(v));
   
         if (!schedRead(root, startSession, v, cli, NULL, 0)) {          if (!schedRead(root, startSession, v, cli, NULL, 0)) {
                io_freeVar(v);                io_freeVar(&v);
                 close(cli);                  close(cli);
                 ioDEBUG(1, "Terminated client with socket=%d", cli);                  ioDEBUG(1, "Terminated client with socket=%d", cli);
         }          }
Line 345  end: Line 347  end:
 int  int
 Run(int sock)  Run(int sock)
 {  {
         struct tagPub *pub;  
         struct tagSession *sess;          struct tagSession *sess;
         struct timespec pl = { 0, 100000000 };          struct timespec pl = { 0, 100000000 };
   
Line 367  Run(int sock) Line 368  Run(int sock)
         schedRun(root, &Kill);          schedRun(root, &Kill);
   
         /* free all undeleted elements into lists */          /* free all undeleted elements into lists */
         TAILQ_FOREACH(pub, &Pubs, pub_node) {  
                 TAILQ_REMOVE(&Pubs, pub, pub_node);  
   
                 AIT_FREE_VAL(&pub->pub_name);  
                 if (pub->pub_packet.msg_base)  
                         free(pub->pub_packet.msg_base);  
         }  
         TAILQ_FOREACH(sess, &Sessions, sess_node) {          TAILQ_FOREACH(sess, &Sessions, sess_node) {
                 TAILQ_REMOVE(&Sessions, sess, sess_node);                  TAILQ_REMOVE(&Sessions, sess, sess_node);
   

Removed from v.1.2.2.30  
changed lines
  Added in v.1.2.2.32


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>