diff --git a/sjrpc/core/protocols/rpc.py b/sjrpc/core/protocols/rpc.py index d6e33dc35f2df81e0319ddaaf718e205372d3bf8..1b8b614f46f385b11744395ba7248c8e35fc98e6 100644 --- a/sjrpc/core/protocols/rpc.py +++ b/sjrpc/core/protocols/rpc.py @@ -55,16 +55,10 @@ class RpcProtocol(object): def shutdown(self): # Release all waiting calls from this rpc: - for cid, call in self._calls.iteritems(): + for cid in self._calls: err = {'exception': 'RpcError', 'message': 'Connection reset by peer'} - if 'event' in call: - call['error'] = err - call['return'] = None - call['event'].set() - else: - msg = {'id': cid, 'error': err, 'return': None} - self._manager.signal_arrival(msg) + self._handle_response({'id': cid, 'return': None, 'error': err}) # Execute on_disconnect callback: callback = None