Browse Source

Fix stats foreign_sessions if redis_restore fails

pull/225/head
Lucian Balaceanu 10 years ago
parent
commit
8fb677bccb
2 changed files with 5 additions and 7 deletions
  1. +3
    -4
      daemon/call.c
  2. +2
    -3
      daemon/redis.c

+ 3
- 4
daemon/call.c View File

@ -1844,6 +1844,9 @@ void call_destroy(struct call *c) {
rwlock_lock_w(&m->hashlock); rwlock_lock_w(&m->hashlock);
ret = g_hash_table_remove(m->callhash, &c->callid); ret = g_hash_table_remove(m->callhash, &c->callid);
if (IS_BACKUP_CALL(c)) {
atomic64_dec(&m->stats.foreign_sessions);
}
if(!IS_BACKUP_CALL(c)) { if(!IS_BACKUP_CALL(c)) {
mutex_lock(&m->totalstats_interval.managed_sess_lock); mutex_lock(&m->totalstats_interval.managed_sess_lock);
m->totalstats_interval.managed_sess_min = MIN(m->totalstats_interval.managed_sess_min, m->totalstats_interval.managed_sess_min = MIN(m->totalstats_interval.managed_sess_min,
@ -1861,10 +1864,6 @@ void call_destroy(struct call *c) {
redis_delete(c, m->conf.redis_write); redis_delete(c, m->conf.redis_write);
} }
if (c->redis_foreign_call) {
atomic64_dec(&m->stats.foreign_sessions);
}
rwlock_lock_w(&c->master_lock); rwlock_lock_w(&c->master_lock);
/* at this point, no more packet streams can be added */ /* at this point, no more packet streams can be added */


+ 2
- 3
daemon/redis.c View File

@ -316,14 +316,13 @@ void onRedisNotification(redisAsyncContext *actx, void *reply, void *privdata) {
goto err; goto err;
} }
redis_restore_call(r, cm, rr->element[2]); redis_restore_call(r, cm, rr->element[2]);
atomic64_inc(&cm->stats.foreign_sessions);
atomic64_inc(&cm->totalstats.total_foreign_sessions);
// we lookup again to retrieve the call to insert the kayspace db id // we lookup again to retrieve the call to insert the kayspace db id
c = g_hash_table_lookup(cm->callhash, &callid); c = g_hash_table_lookup(cm->callhash, &callid);
if (c) { if (c) {
c->redis_foreign_call = 1; c->redis_foreign_call = 1;
c->is_backup_call = 1; c->is_backup_call = 1;
atomic64_inc(&cm->stats.foreign_sessions);
atomic64_inc(&cm->totalstats.total_foreign_sessions);
} }
} }


Loading…
Cancel
Save