You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dprintf "disposing of TcImports, %d binaries\n" disposeActions.Count
709
709
#if!NO_EXTENSIONTYPING
710
-
letactions= disposeTypeProviderActions
711
-
if actions.Count >0then
712
-
compilationThread.EnqueueWork (fun _ ->for action in actions do action())
710
+
async{
711
+
letactions= disposeTypeProviderActions
712
+
if actions.Count >0then
713
+
TypeProviderLock.Singleton.AcquireLock(fun _ ->for action in actions do action())
714
+
}|> Async.Start // Make this async so we do not block dispose
713
715
#endif
714
716
for action in disposeActions do action()
715
717
@@ -760,8 +762,7 @@ and TcImportsWeakHack (tcImports: WeakReference<TcImports>) =
760
762
/// Is a disposable object, but it is recommended not to explicitly call Dispose unless you absolutely know nothing will be using its contents after the disposal.
761
763
/// Otherwise, simply allow the GC to collect this and it will properly call Dispose from the finalizer.
762
764
and [<Sealed>]TcImports(tcConfigP:TcConfigProvider,initialResolutions:TcAssemblyResolutions,importsBase:TcImports option,
0 commit comments