X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=wrw%2Fsession.py;h=02d1983fe18cb120e606db4e2e73a8915251f4fb;hb=3414365c207c42f3a2d26edac5b5a1d0bd782d7a;hp=d78c43b8538e2c86678539182d8e017012a8477d;hpb=f9e9a7b5b192adfc7318e7f3ba0153668eef3bc1;p=wrw.git diff --git a/wrw/session.py b/wrw/session.py index d78c43b..02d1983 100644 --- a/wrw/session.py +++ b/wrw/session.py @@ -1,5 +1,5 @@ import threading, time, pickle, random, os -from . import cookie +from . import cookie, env __all__ = ["db", "get"] @@ -19,7 +19,7 @@ class session(object): def __init__(self, expire = 86400 * 7): self.id = hexencode(gennonce(16)) self.dict = {} - self.lock = threading.Lock() + self.lock = threading.RLock() self.ctime = self.atime = self.mtime = int(time.time()) self.expire = expire self.dctl = set() @@ -180,7 +180,7 @@ class dirback(object): with open(os.path.join(self.path, key), "w") as out: out.write(value) -default = db(backdb = dirback(os.path.join("/tmp", "wrwsess-" + str(os.getuid())))) +default = env.var(db(backdb = dirback(os.path.join("/tmp", "wrwsess-" + str(os.getuid()))))) def get(req): - return default.get(req) + return default.val.get(req)