Release lock inside thread

This commit is contained in:
Ruud
2014-06-02 14:02:55 +02:00
parent 40f01dca6f
commit 3bd831782c

View File

@@ -33,10 +33,10 @@ def run_async(func):
def run_handler(route, kwargs, callback = None):
try:
res = api[route](**kwargs)
callback(res)
callback(res, route)
except:
log.error('Failed doing api request "%s": %s', (route, traceback.format_exc()))
callback({'success': False, 'error': 'Failed returning results'})
callback({'success': False, 'error': 'Failed returning results'}, route)
# NonBlock API handler
@@ -115,11 +115,11 @@ class ApiHandler(RequestHandler):
self.write({'success': False, 'error': 'Failed returning results'})
self.finish()
api_locks[route].release()
api_locks[route].release()
post = get
def taskFinished(self, result):
def taskFinished(self, result, route):
if self.request.connection.stream.closed():
return
@@ -142,6 +142,8 @@ class ApiHandler(RequestHandler):
try: self.finish({'success': False, 'error': 'Failed returning results'})
except: pass
api_locks[route].release()
def addApiView(route, func, static = False, docs = None, **kwargs):