]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
cangen: set seed value for pseudo random numbers
authorhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Wed, 19 Jan 2011 17:35:37 +0000 (17:35 +0000)
committerhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Wed, 19 Jan 2011 17:35:37 +0000 (17:35 +0000)
As pointed out by Andre Naujoks the pseudo random generator should be
initialized with a seed to prevend this ugly behaviour:

$ ./cangen vcan2 -v & ./cangen vcan1 -v
[1] 5995
  vcan2  567#69.98.3C.64.73.48
  vcan1  567#69.98.3C.64.73.48
  vcan2  451#4A.94.E8.2A.EC.58.55.62
  vcan1  451#4A.94.E8.2A.EC.58.55.62
  vcan2  729#BA.58.1B.3D.AB.D7.7E.50
  vcan1  729#BA.58.1B.3D.AB.D7.7E.50
(..)

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
git-svn-id: svn://svn.berlios.de//socketcan/trunk@1231 030b6a49-0b11-0410-94ab-b0dab22257f2

can-utils/cangen.c

index 9009c0501701f9d55f861a35c984ff06bc8fb390..95dfa46ad43f7e90787b2c806af0cea64b380c69 100644 (file)
@@ -155,6 +155,11 @@ int main(int argc, char **argv)
        struct ifreq ifr;
 
        struct timespec ts;
+       struct timeval now;
+
+       /* set seed value for pseudo random numbers */
+       gettimeofday(&now, NULL);
+       srandom(now.tv_usec);
 
        signal(SIGTERM, sigterm);
        signal(SIGHUP, sigterm);