From 2037cee268bcd12cc609a38a52b886724079fc4a Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Tue, 13 Dec 2011 03:04:21 +0100 Subject: [PATCH] python: Use with statements in python3 wsgidir. --- python3/ashd/wsgidir.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/python3/ashd/wsgidir.py b/python3/ashd/wsgidir.py index cc17b9b..d4289a7 100644 --- a/python3/ashd/wsgidir.py +++ b/python3/ashd/wsgidir.py @@ -87,8 +87,7 @@ def getmod(path): about the module. See its documentation for details. """ sb = os.stat(path) - cachelock.acquire() - try: + with cachelock: if path in modcache: entry = modcache[path] if sb.st_mtime <= entry.mtime: @@ -106,16 +105,13 @@ def getmod(path): entry = cachedmod(mod, sb.st_mtime) modcache[path] = entry return entry - finally: - cachelock.release() def chain(env, startreq): path = env["SCRIPT_FILENAME"] mod = getmod(path) entry = None if mod is not None: - mod.lock.acquire() - try: + with mod.lock: if hasattr(mod, "entry"): entry = mod.entry else: @@ -124,8 +120,6 @@ def chain(env, startreq): elif hasattr(mod.mod, "application"): entry = mod.mod.application mod.entry = entry - finally: - mod.lock.release() if entry is not None: return entry(env, startreq) return wsgiutil.simpleerror(env, startreq, 500, "Internal Error", "Invalid WSGI handler.") -- 2.11.0