Rtpengine starts even if redis is down

Rtpengine will start with a warning message if redis is configured, but is
not up and running.
pull/220/head
smititelu 10 years ago
parent 7d03f3da6c
commit 50aef804d9

@ -233,24 +233,21 @@ struct redis *redis_new(const endpoint_t *ep, int db, const char *auth, enum red
r->db = db; r->db = db;
r->auth = auth; r->auth = auth;
r->role = role; r->role = role;
r->state = REDIS_STATE_DISCONNECTED;
mutex_init(&r->lock); mutex_init(&r->lock);
if (redis_connect(r, 10)) if (redis_connect(r, 10)) {
goto err; rlog(LOG_WARN, "Starting with no initial connection to Redis %s !",
// redis is connected
if (r->state == REDIS_STATE_DISCONNECTED) {
rlog(LOG_INFO, "Established connection to Redis %s",
endpoint_print_buf(&r->endpoint)); endpoint_print_buf(&r->endpoint));
r->state = REDIS_STATE_CONNECTED; return r;
} }
return r; // redis is connected
rlog(LOG_INFO, "Established initial connection to Redis %s",
endpoint_print_buf(&r->endpoint));
r->state = REDIS_STATE_CONNECTED;
err: return r;
mutex_destroy(&r->lock);
g_slice_free1(sizeof(*r), r);
return NULL;
} }

@ -20,8 +20,10 @@ enum redis_role {
ANY_REDIS_ROLE = 2, ANY_REDIS_ROLE = 2,
}; };
#define REDIS_STATE_DISCONNECTED 0 enum redis_state {
#define REDIS_STATE_CONNECTED 1 REDIS_STATE_DISCONNECTED = 0,
REDIS_STATE_CONNECTED = 1,
};
struct callmaster; struct callmaster;
struct call; struct call;

Loading…
Cancel
Save