Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Startup Init Lite
提交
9ac85de3
S
Startup Init Lite
项目概览
OpenHarmony
/
Startup Init Lite
大约 1 年 前同步成功
通知
3
Star
37
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Startup Init Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
9ac85de3
编写于
9月 16, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 16, 2022
浏览文件
操作
浏览文件
下载
差异文件
!1250 fix:appspawn 孵化的子进程不能set属性
Merge pull request !1250 from cheng_jinsong/bugforappspawnset
上级
7340ce1d
a2d11d11
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
24 addition
and
10 deletion
+24
-10
services/include/param/init_param.h
services/include/param/init_param.h
+1
-0
services/param/linux/param_request.c
services/param/linux/param_request.c
+23
-10
未找到文件。
services/include/param/init_param.h
浏览文件 @
9ac85de3
...
...
@@ -51,6 +51,7 @@ typedef enum {
PARAM_CODE_READ_ONLY
,
PARAM_CODE_FAIL_CONNECT
,
PARAM_CODE_NODE_EXIST
,
// 9
PARAM_CODE_INVALID_SOCKET
,
DAC_RESULT_INVALID_PARAM
=
1000
,
DAC_RESULT_FORBIDED
,
PARAM_CODE_MAX
...
...
services/param/linux/param_request.c
浏览文件 @
9ac85de3
...
...
@@ -117,7 +117,7 @@ static int GetClientSocket(int timeout)
struct
timeval
time
;
time
.
tv_sec
=
timeout
;
time
.
tv_usec
=
0
;
int
clientFd
=
socket
(
AF_UNIX
,
SOCK_STREAM
,
0
);
int
clientFd
=
socket
(
AF_UNIX
,
SOCK_STREAM
|
SOCK_CLOEXEC
,
0
);
PARAM_CHECK
(
clientFd
>=
0
,
return
-
1
,
"Failed to create socket"
);
int
ret
=
ConnectServer
(
clientFd
,
CLIENT_PIPE_NAME
);
if
(
ret
==
0
)
{
...
...
@@ -134,7 +134,10 @@ static int StartRequest(int clientFd, ParamMessage *request, int timeout)
{
int
ret
=
0
;
ssize_t
sendLen
=
send
(
clientFd
,
(
char
*
)
request
,
request
->
msgSize
,
0
);
PARAM_CHECK
(
sendLen
>=
0
,
return
PARAM_CODE_FAIL_CONNECT
,
"Failed to send message"
);
if
(
errno
==
EINVAL
||
errno
==
EACCES
)
{
return
PARAM_CODE_INVALID_SOCKET
;
}
PARAM_CHECK
(
sendLen
>=
0
,
return
PARAM_CODE_FAIL_CONNECT
,
"Failed to send message err: %d"
,
errno
);
PARAM_LOGV
(
"sendMessage sendLen fd %d %zd"
,
clientFd
,
sendLen
);
ret
=
ReadMessage
(
clientFd
,
(
char
*
)
request
,
timeout
);
if
(
ret
==
0
)
{
...
...
@@ -164,15 +167,25 @@ int SystemSetParameter(const char *name, const char *value)
request
->
id
.
msgId
=
atomic_fetch_add
(
&
g_requestId
,
1
);
PARAM_LOGI
(
"SystemSetParameter name %s msgid:%d "
,
name
,
request
->
id
.
msgId
);
int
fd
=
INVALID_SOCKET
;
pthread_mutex_lock
(
&
g_clientMutex
);
if
(
g_clientFd
==
INVALID_SOCKET
)
{
g_clientFd
=
GetClientSocket
(
DEFAULT_PARAM_SET_TIMEOUT
);
}
fd
=
g_clientFd
;
ret
=
PARAM_CODE_INVALID_PARAM
;
if
(
fd
>=
0
)
{
ret
=
StartRequest
(
fd
,
request
,
DEFAULT_PARAM_SET_TIMEOUT
);
int
retryCount
=
0
;
while
(
retryCount
<
2
)
{
// max retry 2
if
(
g_clientFd
==
INVALID_SOCKET
)
{
g_clientFd
=
GetClientSocket
(
DEFAULT_PARAM_SET_TIMEOUT
);
}
if
(
g_clientFd
<
0
)
{
ret
=
PARAM_CODE_INVALID_PARAM
;
break
;
}
ret
=
StartRequest
(
g_clientFd
,
request
,
DEFAULT_PARAM_SET_TIMEOUT
);
if
(
ret
==
PARAM_CODE_INVALID_SOCKET
)
{
close
(
g_clientFd
);
g_clientFd
=
INVALID_SOCKET
;
retryCount
++
;
ret
=
0
;
}
else
{
break
;
}
}
PARAM_LOGI
(
"SystemSetParameter name %s msgid:%d ret: %d "
,
name
,
request
->
id
.
msgId
,
ret
);
pthread_mutex_unlock
(
&
g_clientMutex
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录