Kaydet (Commit) cd8959c8 authored tarafından Malcolm Tredinnick's avatar Malcolm Tredinnick

Fixed #5486 -- Worked around the lack of os.getpid() in Jython, whilst still…

Fixed #5486 -- Worked around the lack of os.getpid() in Jython, whilst still using it for CPython. Patch from Leo Soto.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6270 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst 1baae32e
...@@ -15,8 +15,13 @@ class SessionManager(models.Manager): ...@@ -15,8 +15,13 @@ class SessionManager(models.Manager):
"Returns session key that isn't being used." "Returns session key that isn't being used."
# The random module is seeded when this Apache child is created. # The random module is seeded when this Apache child is created.
# Use SECRET_KEY as added salt. # Use SECRET_KEY as added salt.
try:
pid = os.getpid()
except AttributeError:
# No getpid() in Jython, for example
pid = 1
while 1: while 1:
session_key = md5.new("%s%s%s%s" % (random.randint(0, sys.maxint - 1), os.getpid(), time.time(), settings.SECRET_KEY)).hexdigest() session_key = md5.new("%s%s%s%s" % (random.randint(0, sys.maxint - 1), pid, time.time(), settings.SECRET_KEY)).hexdigest()
try: try:
self.get(session_key=session_key) self.get(session_key=session_key)
except self.model.DoesNotExist: except self.model.DoesNotExist:
......
...@@ -50,7 +50,11 @@ def make_msgid(idstring=None): ...@@ -50,7 +50,11 @@ def make_msgid(idstring=None):
""" """
timeval = time.time() timeval = time.time()
utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval)) utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval))
try:
pid = os.getpid() pid = os.getpid()
except AttributeError:
# Not getpid() in Jython, for example.
pid = 1
randint = random.randrange(100000) randint = random.randrange(100000)
if idstring is None: if idstring is None:
idstring = '' idstring = ''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment