@@ -33,17 +33,15 @@ internal Worker(
3333 _pool = new RunspacePool ( poolSettings , _streams , _token ) ;
3434 }
3535
36- internal void Wait ( ) => _worker ? . GetAwaiter ( ) . GetResult ( ) ;
36+ internal void Wait ( ) => _worker ? . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
3737
3838 internal void Enqueue ( object ? input ) => _input . Add ( input , _token ) ;
3939
40- internal bool TryTake ( out PSOutputData output ) =>
41- _output . TryTake ( out output , 0 , _token ) ;
40+ internal bool TryTake ( out PSOutputData output ) => _output . TryTake ( out output , 0 , _token ) ;
4241
4342 internal void CompleteInputAdding ( ) => _input . CompleteAdding ( ) ;
4443
45- internal IEnumerable < PSOutputData > GetConsumingEnumerable ( ) =>
46- _output . GetConsumingEnumerable ( _token ) ;
44+ internal IEnumerable < PSOutputData > GetConsumingEnumerable ( ) => _output . GetConsumingEnumerable ( _token ) ;
4745
4846 internal void Run ( ) => _worker = Task . Run ( Start , cancellationToken : _token ) ;
4947
@@ -57,13 +55,15 @@ private async Task Start()
5755 {
5856 if ( tasks . Count == tasks . Capacity )
5957 {
60- await ProcessAnyAsync ( tasks ) ;
58+ await ProcessAnyAsync ( tasks ) . ConfigureAwait ( false ) ;
6159 }
6260
63- PSTask task = await PSTask . CreateAsync (
64- input : input ,
65- runspacePool : _pool ,
66- settings : _taskSettings ) ;
61+ PSTask task = await PSTask
62+ . CreateAsync (
63+ input : input ,
64+ runspacePool : _pool ,
65+ settings : _taskSettings )
66+ . ConfigureAwait ( false ) ;
6767
6868 tasks . Add ( task . InvokeAsync ( ) ) ;
6969 }
@@ -72,16 +72,23 @@ private async Task Start()
7272 { }
7373 finally
7474 {
75- await Task . WhenAll ( tasks ) ;
75+ await Task
76+ . WhenAll ( tasks )
77+ . ConfigureAwait ( false ) ;
78+
7679 _output . CompleteAdding ( ) ;
7780 }
7881 }
7982
8083 private static async Task ProcessAnyAsync ( List < Task > tasks )
8184 {
82- Task task = await Task . WhenAny ( tasks ) ;
85+ Task task = await Task
86+ . WhenAny ( tasks )
87+ . ConfigureAwait ( false ) ;
88+
8389 tasks . Remove ( task ) ;
84- await task ;
90+ await task
91+ . ConfigureAwait ( false ) ;
8592 }
8693
8794 public void Dispose ( )
0 commit comments