diff --git a/src/JsonRpc/InputHandler.cs b/src/JsonRpc/InputHandler.cs index 6d267c101..caa294af8 100644 --- a/src/JsonRpc/InputHandler.cs +++ b/src/JsonRpc/InputHandler.cs @@ -110,9 +110,16 @@ IScheduler scheduler public void Start() { _disposable.Add( - Observable.FromAsync(() => ProcessInputStream(_stopProcessing.Token)) - .Do(_ => { }, e => _logger.LogCritical(e, "unhandled exception")) - .Subscribe(_inputActive) + Observable.FromAsync(async () => { + try + { + await ProcessInputStream(_stopProcessing.Token).ConfigureAwait(false); + } + catch (Exception e) + { + _logger.LogCritical(e, "unhandled exception"); + } + }).Subscribe(_inputActive) ); _disposable.Add( _inputQueue