annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
62
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
1 import threading
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
2
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
3 def synced_app(app):
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
4 lock = threading.Lock()
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
5
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
6 def synced_wsgi_app(environ, start_response):
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
7 lock.acquire()
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
8 try:
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
9 return app(environ, start_response)
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
10 finally:
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
11 lock.release()
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
12
50297a64414c Added locking.py for super non-grannular thread safety, and more tests.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
13 return synced_wsgi_app