version 1.2.2.44, 2012/07/03 07:48:49
|
version 1.2.2.46, 2012/07/03 07:57:16
|
Line 77 finiSession(struct tagSession *sess)
|
Line 77 finiSession(struct tagSession *sess)
|
call.FiniSessPUB(&cfg, pub, sess->sess_cid, sess->sess_user, "%"); |
call.FiniSessPUB(&cfg, pub, sess->sess_cid, sess->sess_user, "%"); |
if (call.DeletePUB_subscribe) |
if (call.DeletePUB_subscribe) |
call.DeletePUB_subscribe(&cfg, pub, sess->sess_cid, "%", sess->sess_user, "%"); |
call.DeletePUB_subscribe(&cfg, pub, sess->sess_cid, "%", sess->sess_user, "%"); |
if (call.WipePUB_topic) | if (call.WipePUB_topic) /* only dynamic messages */ |
call.WipePUB_topic(&cfg, pub, sess->sess_cid, sess->sess_user, -1); | call.WipePUB_topic(&cfg, pub, sess->sess_cid, sess->sess_user, 0); |
} |
} |
|
|
while ((store = SLIST_FIRST(&sess->sess_subscr))) { |
while ((store = SLIST_FIRST(&sess->sess_subscr))) { |
Line 305 startSession(sched_task_t *task)
|
Line 305 startSession(sched_task_t *task)
|
if (sess->sess_clean) { |
if (sess->sess_clean) { |
if (call.DeletePUB_subscribe) |
if (call.DeletePUB_subscribe) |
call.DeletePUB_subscribe(&cfg, pub, sess->sess_cid, "%", sess->sess_user, "%"); |
call.DeletePUB_subscribe(&cfg, pub, sess->sess_cid, "%", sess->sess_user, "%"); |
if (call.WipePUB_topic) | if (call.WipePUB_topic) /* delete ALL messages */ |
call.WipePUB_topic(&cfg, pub, sess->sess_cid, sess->sess_user, -1); |
call.WipePUB_topic(&cfg, pub, sess->sess_cid, sess->sess_user, -1); |
} else if (call.ReadPUB_subscribe) { |
} else if (call.ReadPUB_subscribe) { |
/* load subscribes */ |
/* load subscribes */ |
Line 404 Run(int sock)
|
Line 404 Run(int sock)
|
|
|
schedPolling(root, &pl, NULL); |
schedPolling(root, &pl, NULL); |
schedRun(root, &Kill); |
schedRun(root, &Kill); |
|
|
|
schedCancelby(root, taskTIMER, CRITERIA_CALL, sendRetain, NULL); |
|
|
/* free all undeleted elements into lists */ |
/* free all undeleted elements into lists */ |
TAILQ_FOREACH(sess, &Sessions, sess_node) { |
TAILQ_FOREACH(sess, &Sessions, sess_node) { |