|
@@ -50,6 +50,7 @@
|
|
#include "../../core/kemi.h"
|
|
#include "../../core/kemi.h"
|
|
#include "../../core/rpc.h"
|
|
#include "../../core/rpc.h"
|
|
#include "../../core/rpc_lookup.h"
|
|
#include "../../core/rpc_lookup.h"
|
|
|
|
+#include "../../core/rand/kam_rand.h"
|
|
#include "../../core/cfg/cfg_struct.h"
|
|
#include "../../core/cfg/cfg_struct.h"
|
|
#include "../dialog/dlg_load.h"
|
|
#include "../dialog/dlg_load.h"
|
|
|
|
|
|
@@ -305,6 +306,7 @@ static int mod_init(void)
|
|
|
|
|
|
if(reg_db_url.s && reg_db_url.len>=0)
|
|
if(reg_db_url.s && reg_db_url.len>=0)
|
|
{
|
|
{
|
|
|
|
+ kam_srand(17 * getpid() + time(0));
|
|
if(!reg_contact_addr.s || reg_contact_addr.len<=0)
|
|
if(!reg_contact_addr.s || reg_contact_addr.len<=0)
|
|
{
|
|
{
|
|
LM_ERR("contact address parameter not set\n");
|
|
LM_ERR("contact address parameter not set\n");
|
|
@@ -343,6 +345,9 @@ error:
|
|
static int child_init(int rank)
|
|
static int child_init(int rank)
|
|
{
|
|
{
|
|
int pid;
|
|
int pid;
|
|
|
|
+
|
|
|
|
+ kam_srand((11 + rank) * getpid() * 17 + time(0));
|
|
|
|
+
|
|
if (rank!=PROC_MAIN)
|
|
if (rank!=PROC_MAIN)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
@@ -361,6 +366,7 @@ static int child_init(int rank)
|
|
if (cfg_child_init())
|
|
if (cfg_child_init())
|
|
return -1;
|
|
return -1;
|
|
|
|
|
|
|
|
+ kam_srand(getpid() * 17 + time(0));
|
|
uac_reg_load_db();
|
|
uac_reg_load_db();
|
|
uac_reg_timer(0);
|
|
uac_reg_timer(0);
|
|
for(;;){
|
|
for(;;){
|