if seed is not None:
self.stir(bytearray(seed))
self.seeded = True
+ self.seed_pid = os.getpid()
else:
self.seeded = False
+ self.seed_pid = 0
def stir(self, entropy, already_locked=False):
if not already_locked:
self.lock.release()
def _maybe_seed(self):
- if not self.seeded:
+ if not self.seeded or self.seed_pid != os.getpid():
try:
seed = os.urandom(16)
except:
except:
seed = str(time.time())
self.seeded = True
+ self.seed_pid = os.getpid()
+ self.digest = None
seed = bytearray(seed)
self.stir(seed, True)