Mercurial > summit-idp
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 |
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 |