names-generator: use local random instance

Instead of seeding/polluting the global random instance,
creating a local `rand.Random` instance which provides the same
level of randomness.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
This commit is contained in:
Ahmet Alp Balkan 2015-04-08 18:09:55 -07:00 committed by Ubuntu
parent 4f5c0ee46d
commit 627d5ea83b

View file

@ -302,19 +302,19 @@ var (
// Ada Yonath - an Israeli crystallographer, the first woman from the Middle East to win a Nobel prize in the sciences. https://en.wikipedia.org/wiki/Ada_Yonath // Ada Yonath - an Israeli crystallographer, the first woman from the Middle East to win a Nobel prize in the sciences. https://en.wikipedia.org/wiki/Ada_Yonath
"yonath", "yonath",
} }
rnd = rand.New(rand.NewSource(time.Now().UnixNano()))
) )
func GetRandomName(retry int) string { func GetRandomName(retry int) string {
rand.Seed(time.Now().UnixNano())
begin: begin:
name := fmt.Sprintf("%s_%s", left[rand.Intn(len(left))], right[rand.Intn(len(right))]) name := fmt.Sprintf("%s_%s", left[rnd.Intn(len(left))], right[rnd.Intn(len(right))])
if name == "boring_wozniak" /* Steve Wozniak is not boring */ { if name == "boring_wozniak" /* Steve Wozniak is not boring */ {
goto begin goto begin
} }
if retry > 0 { if retry > 0 {
name = fmt.Sprintf("%s%d", name, rand.Intn(10)) name = fmt.Sprintf("%s%d", name, rnd.Intn(10))
} }
return name return name
} }