From 2d070054d069771491c54aec67b02427bbeb3716 Mon Sep 17 00:00:00 2001 From: wwwcg Date: Wed, 23 Oct 2024 21:57:57 +0800 Subject: [PATCH] fix(ios): delay release engine resource to avoid deadlock (#4090) --- framework/ios/base/executors/HippyJSExecutor.mm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/framework/ios/base/executors/HippyJSExecutor.mm b/framework/ios/base/executors/HippyJSExecutor.mm index 46c787d4cf3..9c9fa7928db 100644 --- a/framework/ios/base/executors/HippyJSExecutor.mm +++ b/framework/ios/base/executors/HippyJSExecutor.mm @@ -249,7 +249,12 @@ - (void)invalidate { return; } dispatch_async(dispatch_get_main_queue(), ^{ + auto engineRsc = [[HippyJSEnginesMapper defaultInstance] JSEngineResourceForKey:enginekey]; [[HippyJSEnginesMapper defaultInstance] removeEngineResourceForKey:enginekey]; + dispatch_async(dispatch_get_main_queue(), ^{ + // Make a tiny delay to ensure the engine resource is released on the main thread + HippyLogInfo(@"Remove EngineRsc, UseCount:%ld", engineRsc.use_count()); + }); }); }