view summitidp/locking.py @ 62:50297a64414c

Added locking.py for super non-grannular thread safety, and more tests.
author Atul Varma <avarma@mozilla.com>
date Tue, 29 Jun 2010 11:17:34 -0700
parents
children
line wrap: on
line source

import threading

def synced_app(app):
    lock = threading.Lock()

    def synced_wsgi_app(environ, start_response):
        lock.acquire()
        try:
            return app(environ, start_response)
        finally:
            lock.release()

    return synced_wsgi_app