Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
doc: Fixed a couple of misses.
[ashd.git]
/
python
/
ashd
/
wsgidir.py
diff --git
a/python/ashd/wsgidir.py
b/python/ashd/wsgidir.py
index
ada5282
..
afd13f5
100644
(file)
--- a/
python/ashd/wsgidir.py
+++ b/
python/ashd/wsgidir.py
@@
-36,7
+36,7
@@
functions, you may want to use the getmod() function in this module.
import os, threading, types
import wsgiutil
import os, threading, types
import wsgiutil
-__all__ = ["application", "wmain", "getmod", "cachedmod"]
+__all__ = ["application", "wmain", "getmod", "cachedmod"
, "chain"
]
class cachedmod(object):
"""Cache entry for modules loaded by getmod()
class cachedmod(object):
"""Cache entry for modules loaded by getmod()
@@
-87,13
+87,13
@@
def getmod(path):
if path in modcache:
entry = modcache[path]
else:
if path in modcache:
entry = modcache[path]
else:
- entry =
cachedmod()
+ entry =
[threading.Lock(), None]
modcache[path] = entry
finally:
cachelock.release()
modcache[path] = entry
finally:
cachelock.release()
- entry
.lock
.acquire()
+ entry
[0]
.acquire()
try:
try:
- if entry
.mod is None or sb.st_mtime > entry
.mtime:
+ if entry
[1] is None or sb.st_mtime > entry[1]
.mtime:
f = open(path, "r")
try:
text = f.read()
f = open(path, "r")
try:
text = f.read()
@@
-103,11
+103,10
@@
def getmod(path):
mod = types.ModuleType(mangle(path))
mod.__file__ = path
exec code in mod.__dict__
mod = types.ModuleType(mangle(path))
mod.__file__ = path
exec code in mod.__dict__
- entry.mod = mod
- entry.mtime = sb.st_mtime
- return entry
+ entry[1] = cachedmod(mod, sb.st_mtime)
+ return entry[1]
finally:
finally:
- entry
.lock
.release()
+ entry
[0]
.release()
class handler(object):
def __init__(self):
class handler(object):
def __init__(self):