]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
only initialize random number generators in one place (bug #4017)
authorRussell Bryant <russell@russellbryant.com>
Mon, 16 May 2005 03:04:59 +0000 (03:04 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 16 May 2005 03:04:59 +0000 (03:04 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@5694 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_random.c
asterisk.c
channels/chan_iax2.c

index c9f8f47887e11c301ab71f6601a53ffa8d5ef392..18af80e4efaebfe178d18ae8a4a0244991d16a39 100755 (executable)
@@ -106,7 +106,6 @@ int unload_module(void)
 
 int load_module(void)
 {
-       srandom((unsigned int)getpid() + (unsigned int)time(NULL));
        return ast_register_application(app_random, random_exec, random_synopsis, random_descrip);
 }
 
index 146f43a71110e503dfe1b1b243babac6e6105f49..0364f1b263bdbf1e6f88d9a83816183f718cd99e 100755 (executable)
@@ -1824,6 +1824,12 @@ int main(int argc, char *argv[])
        signal(SIGCHLD, child_handler);
        signal(SIGPIPE, SIG_IGN);
 
+       /* ensure that the random number generators are seeded with a different value every time
+          Asterisk is started
+       */
+       srand((unsigned int) getpid() + (unsigned int) time(NULL));
+       srandom((unsigned int) getpid() + (unsigned int) time(NULL));
+
        if (init_logger()) {
                printf(term_quit());
                exit(1);
index a301585c3d218fc353fc6e8370d395b96db9105d..40a9797298e8fd4aeae22ca7ed4c128cfbf758e8 100755 (executable)
@@ -7020,7 +7020,6 @@ static int reload_config(void)
        delayreject = 0;
        globalnotransfer = 0;
        globalusejitterbuf = 0;
-       srand(time(NULL));
        delete_users();
        set_config(config,&dead_sin);
        prune_peers();