|
@@ -1609,6 +1609,8 @@ error:
|
|
static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
|
|
static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
|
|
{
|
|
{
|
|
time_t tnow;
|
|
time_t tnow;
|
|
|
|
+ int rping = 1;
|
|
|
|
+ int n = 0;
|
|
|
|
|
|
if(rtpp_db_url.s == NULL) {
|
|
if(rtpp_db_url.s == NULL) {
|
|
// no database
|
|
// no database
|
|
@@ -1621,6 +1623,13 @@ static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ n = rpc->scan(ctx, "*d", &rping);
|
|
|
|
+ if(n != 1) {
|
|
|
|
+ rping = 1;
|
|
|
|
+ } else if(rping != 0) {
|
|
|
|
+ rping = 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
tnow = time(NULL);
|
|
tnow = time(NULL);
|
|
if(tnow - _rtpe_list_version->vertime < RTPE_LIST_VERSION_DELAY) {
|
|
if(tnow - _rtpe_list_version->vertime < RTPE_LIST_VERSION_DELAY) {
|
|
rpc->fault(ctx, 500, "Too short reload interval - try later");
|
|
rpc->fault(ctx, 500, "Too short reload interval - try later");
|
|
@@ -1634,7 +1643,7 @@ static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- if(build_rtpp_socks(1, 1)) {
|
|
|
|
|
|
+ if(build_rtpp_socks(1, rping)) {
|
|
rpc->fault(ctx, 500, "Failed to build rtpengine sockets");
|
|
rpc->fault(ctx, 500, "Failed to build rtpengine sockets");
|
|
return;
|
|
return;
|
|
}
|
|
}
|