You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mo...@apache.org on 2020/06/18 03:21:51 UTC
[incubator-weex] branch master updated: [iOS] fix crash when
multithread call initSDKEnvironment
This is an automated email from the ASF dual-hosted git repository.
moshen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push:
new 3da1499 [iOS] fix crash when multithread call initSDKEnvironment
new 4ea510d Merge pull request #3229 from jianhan-he/master
3da1499 is described below
commit 3da1499c4810895255a16b1af9545affe72bea7e
Author: linghe.lh <li...@alibaba-inc.com>
AuthorDate: Thu Jun 18 10:02:58 2020 +0800
[iOS] fix crash when multithread call initSDKEnvironment
---
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
index 993e427..19ab11a 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
@@ -271,23 +271,22 @@
+ (void)initSDKEnvironment:(NSString *)script
{
- WX_MONITOR_PERF_START(WXPTInitalize)
- WX_MONITOR_PERF_START(WXPTInitalizeSync)
-
- if (!script || script.length <= 0) {
- NSMutableString *errMsg = [NSMutableString stringWithFormat:@"[WX_KEY_EXCEPTION_SDK_INIT_JSFM_INIT_FAILED] script don't exist:%@",script];
- [WXExceptionUtils commitCriticalExceptionRT:@"WX_KEY_EXCEPTION_SDK_INIT" errCode:[NSString stringWithFormat:@"%d", WX_KEY_EXCEPTION_SDK_INIT] function:@"initSDKEnvironment" exception:errMsg extParams:nil];
- WX_MONITOR_FAIL(WXMTJSFramework, WX_ERR_JSFRAMEWORK_LOAD, errMsg);
- return;
- }
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
+ WX_MONITOR_PERF_START(WXPTInitalize)
+ WX_MONITOR_PERF_START(WXPTInitalizeSync)
+
+ if (!script || script.length <= 0) {
+ NSMutableString *errMsg = [NSMutableString stringWithFormat:@"[WX_KEY_EXCEPTION_SDK_INIT_JSFM_INIT_FAILED] script don't exist:%@",script];
+ [WXExceptionUtils commitCriticalExceptionRT:@"WX_KEY_EXCEPTION_SDK_INIT" errCode:[NSString stringWithFormat:@"%d", WX_KEY_EXCEPTION_SDK_INIT] function:@"initSDKEnvironment" exception:errMsg extParams:nil];
+ WX_MONITOR_FAIL(WXMTJSFramework, WX_ERR_JSFRAMEWORK_LOAD, errMsg);
+ return;
+ }
[self registerDefaults];
[[WXSDKManager bridgeMgr] executeJsFramework:script];
+
+ WX_MONITOR_PERF_END(WXPTInitalizeSync)
});
-
- WX_MONITOR_PERF_END(WXPTInitalizeSync)
-
}
+ (void)registerDefaults