File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ public class Launcher
5454 private TaskCompletionSource < bool > _waitForChromeToClose ;
5555 private bool _processLoaded ;
5656 private bool _chromiumLaunched ;
57+ private object _isChromeCloseLock = new object ( ) ;
5758 #endregion
5859
5960 #region Properties
@@ -389,18 +390,19 @@ private void CleanUp()
389390
390391 private async Task AfterProcessExit ( )
391392 {
392- if ( IsChromeClosed )
393+ lock ( _isChromeCloseLock )
393394 {
394- return ;
395+ if ( IsChromeClosed )
396+ {
397+ return ;
398+ }
399+ IsChromeClosed = true ;
395400 }
396-
397401 if ( _options . LogProcess )
398402 {
399403 _logger . LogInformation ( "Process Count: {ProcessCount}" , Interlocked . Decrement ( ref _processCount ) ) ;
400404 }
401405
402- IsChromeClosed = true ;
403-
404406 if ( _temporaryUserDataDir != null )
405407 {
406408 await TryDeleteUserDataDir ( ) ;
@@ -417,6 +419,7 @@ private async Task KillChrome()
417419 if ( ! string . IsNullOrEmpty ( _temporaryUserDataDir ) )
418420 {
419421 ForceKillChrome ( ) ;
422+ await AfterProcessExit ( ) ;
420423 }
421424 else if ( _connection != null )
422425 {
Original file line number Diff line number Diff line change 22 <PropertyGroup >
33 <TargetFramework >netstandard2.0</TargetFramework >
44 <PackOnBuild >true</PackOnBuild >
5- <PackageVersion >1.0.1 </PackageVersion >
5+ <PackageVersion >1.0.2 </PackageVersion >
66 <Authors >Darío Kondratiuk</Authors >
77 <Owners >Darío Kondratiuk</Owners >
88 <PackageProjectUrl >https://github.com/kblok/puppeteer-sharp</PackageProjectUrl >
1212 <Description >Headless Chrome .NET API</Description >
1313 <PackageId >PuppeteerSharp</PackageId >
1414 <PackageReleaseNotes >
15+ 1.0.2
16+ ==============
17+ * Fix Dispose deadlocks on ASP.NET MVC
15181.0.1
1619==============
1720* Fix Chromium downloader on 32bits apps runnning on a x64 platform
6063 * PuppeteerSharp.DeviceDescriptors => PuppeteerSharp.Mobile.DeviceDescriptors
6164 * PuppeteerSharp.DeviceDescriptorName => PuppeteerSharp.Mobile.DeviceDescriptorName
6265 </PackageReleaseNotes >
63- <ReleaseVersion >1.0.1 </ReleaseVersion >
66+ <ReleaseVersion >1.0.2 </ReleaseVersion >
6467 <SynchReleaseVersion >false</SynchReleaseVersion >
6568 </PropertyGroup >
6669 <PropertyGroup >
You can’t perform that action at this time.
0 commit comments