未验证 提交 87238743 编写于 作者: O openharmony_ci 提交者: Gitee

!1389 兼容非musl版本解析 service的cfg文件

Merge pull request !1389 from cheng_jinsong/init1017
......@@ -1003,13 +1003,14 @@ void ParseAllServices(const cJSON *fileRoot)
Service *service = GetServiceByName(fieldStr);
if (service == NULL) {
service = AddService(fieldStr);
if (service == NULL) {
INIT_LOGE("Failed to add service name %s", fieldStr);
continue;
}
INIT_ERROR_CHECK(service != NULL, continue, "Failed to add service name %s", fieldStr);
} else {
INIT_LOGI("Service %s already exists, updating.", fieldStr);
#ifndef __MUSL__
continue;
#endif
}
service->pid = -1;
int ret = ParseOneService(curItem, service);
if (ret != SERVICE_SUCCESS) {
......@@ -1017,15 +1018,10 @@ void ParseAllServices(const cJSON *fileRoot)
service = NULL;
continue;
}
if (ParseServiceSocket(curItem, service) != SERVICE_SUCCESS) {
FreeServiceSocket(service->socketCfg);
service->socketCfg = NULL;
}
if (ParseServiceFile(curItem, service) != SERVICE_SUCCESS) {
FreeServiceFile(service->fileCfg);
service->fileCfg = NULL;
}
ret = ParseServiceSocket(curItem, service);
INIT_CHECK(ret == 0, FreeServiceSocket(service->socketCfg); service->socketCfg = NULL);
ret = ParseServiceFile(curItem, service);
INIT_CHECK(ret == 0, FreeServiceFile(service->fileCfg); service->fileCfg = NULL);
// Watch "/dev/console" node for starting console service ondemand.
if ((strcmp(service->name, "console") == 0) && IsOnDemandService(service)) {
if (WatchConsoleDevice(service) < 0) {
......
......@@ -146,6 +146,9 @@ ohos_executable("init") {
"//base/startup/init/interfaces/innerkits/init_module_engine:libinit_stub_versionscript",
"name") + stub_version_script_suffix
defines += [ "_GNU_SOURCE" ]
if (use_musl) {
defines += [ "__MUSL__" ]
}
install_images = [
"system",
"updater",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册