]> git.saurik.com Git - redis.git/blobdiff - src/cluster.c
if /dev/urandom is not available use rand() to get a random node name
[redis.git] / src / cluster.c
index c4a56f4d4bf5eef32d57f4d2af1bed3ad5a6a4f7..9588920121ec55f2072dd1ed0b9a6f0bc6bbf5d5 100644 (file)
@@ -24,12 +24,10 @@ void clusterGetRandomName(char *p) {
     char *charset = "0123456789abcdef";
     int j;
 
-    if (!fp) {
-        redisLog(REDIS_WARNING,
-            "Unrecovarable error: can't open /dev/urandom:%s" ,strerror(errno));
-        exit(1);
+    if (fp == NULL || fread(p,REDIS_CLUSTER_NAMELEN,1,fp) == 0) {
+        for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++)
+            p[j] = rand();
     }
-    fread(p,REDIS_CLUSTER_NAMELEN,1,fp);
     for (j = 0; j < REDIS_CLUSTER_NAMELEN; j++)
         p[j] = charset[p[j] & 0x0F];
     fclose(fp);