func (r *lockedRandSource) Seed(seed int64) {
	r.Lock()
	defer r.Unlock()
	r.Source.Seed(seed)
}
Seed satisfy rand.Source interface.
package dnsdisco
import (
	"math/rand"
	"sync"
	"time"
)
var randomSource *rand.Rand
func init() {
	randomSource = rand.New(&lockedRandSource{
		Source: rand.NewSource(time.Now().UnixNano()),
	})
}
type lockedRandSource struct {
	sync.Mutex
	rand.Source
}
func (r *lockedRandSource) Int63() int64 {
	r.Lock()
	defer r.Unlock()
	return r.Source.Int63()
}