> > Hi,
> >
> > On Thu, Nov 28, 2013 at 7:14 AM, V S, Nagendra (Nonstop Filesystems
> > Team)
> >> on NonStop "uuid.py" falls throw to random.range() call to generate
> >> the random number
> >
> > And indeed, the random module gets identical results in both parent
> > and child after a fork(). This seems to mean that the random module
> > is not safe to use in uuid without taking special care of this fact
> > (e.g. feeding back os.getpid() into the seed).
>
> Yes, there is an issue with the fallback to random, see my 17 months old bug
> report: http://bugs.python.org/issue15206 The uuid module needs a
> fork() aware random instance like the tempfile module.
>
> Christian
Thanks all for your responses. I tried to something similar to what Armin was
suggesting. Here is what I have done
def myuuid():
random.seed(time()) # or just could be random.seed() <-------------New
addition
bytes = [chr(random.randrange(256)) for i in range(16)]
val = uuid.UUID(bytes=bytes, version=4)
return val
With this I was able to get a unique sequences in both parent & child after
fork().I have tested this function by calling it a million times & every time
there has been a unique sequence both in parent & child. Do you this can be
fair enough work around for this problem.
Thanks & Regards
Nagendra.V.S
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com