|
@@ -78,14 +78,14 @@ class RequestHandler(object):
|
|
|
if self.has_pending_requests():
|
|
|
try:
|
|
|
# Try to pop a request for the modelverse state.
|
|
|
- result = self.pop_requests()
|
|
|
- return result
|
|
|
+ return self.pop_requests()
|
|
|
except KnownRequestHandled:
|
|
|
# Carry on.
|
|
|
pass
|
|
|
|
|
|
- # Perform a single generator step.
|
|
|
- self.step()
|
|
|
+ if not self.has_pending_requests():
|
|
|
+ # Perform a single generator step.
|
|
|
+ self.step()
|
|
|
except StopIteration:
|
|
|
# Done, so remove the generator
|
|
|
self.pop_generator()
|
|
@@ -301,6 +301,7 @@ class RequestHandler(object):
|
|
|
("TRY was given argument list '%s', " +
|
|
|
"expected exactly zero arguments.") % repr(request_args))
|
|
|
self.exception_handlers.append((len(self.generator_stack) - 1, []))
|
|
|
+ self.append_reply(None)
|
|
|
|
|
|
def execute_catch(self, request_args):
|
|
|
"""Executes a CATCH-request with the given argument list."""
|
|
@@ -317,6 +318,7 @@ class RequestHandler(object):
|
|
|
'current generator.')
|
|
|
|
|
|
handlers.append((exception_type, handler))
|
|
|
+ self.append_reply(None)
|
|
|
|
|
|
def execute_end_try(self, request_args):
|
|
|
"""Executes an END_TRY-request with the given argument list."""
|
|
@@ -341,6 +343,7 @@ class RequestHandler(object):
|
|
|
|
|
|
# Everything seems to be in order. Pop the exception handler.
|
|
|
self.exception_handlers.pop()
|
|
|
+ self.append_reply(None)
|
|
|
|
|
|
def execute_debug_info(self, request_args):
|
|
|
"""Executes a DEBUG_INFO-request with the given argument list."""
|
|
@@ -350,4 +353,5 @@ class RequestHandler(object):
|
|
|
# Format: ("DEBUG_INFO", [function_name, source_map])
|
|
|
top_entry = self.generator_stack[-1]
|
|
|
top_entry.function_name, top_entry.source_map = request_args
|
|
|
+ top_entry.append_reply(None)
|
|
|
|