Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
communication_ipc
提交
6253fcec
C
communication_ipc
项目概览
OpenHarmony
/
communication_ipc
大约 1 年 前同步成功
通知
20
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
communication_ipc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
6253fcec
编写于
1月 17, 2022
作者:
O
openharmony_ci
提交者:
Gitee
1月 17, 2022
浏览文件
操作
浏览文件
下载
差异文件
!96 Add L0 write/read remote object
Merge pull request !96 from liubb_0516/master
上级
fbc3beb2
dd7d3487
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
22 addition
and
9 deletion
+22
-9
ipc/native/c/adapter/Liteos_m/rpc_os_adapter.c
ipc/native/c/adapter/Liteos_m/rpc_os_adapter.c
+3
-1
ipc/native/c/manager/include/ipc_process_skeleton.h
ipc/native/c/manager/include/ipc_process_skeleton.h
+1
-1
ipc/native/c/manager/src/ipc_process_skeleton.c
ipc/native/c/manager/src/ipc_process_skeleton.c
+1
-1
ipc/native/c/manager/src/serializer.c
ipc/native/c/manager/src/serializer.c
+17
-6
未找到文件。
ipc/native/c/adapter/Liteos_m/rpc_os_adapter.c
浏览文件 @
6253fcec
...
...
@@ -15,9 +15,11 @@
#include "rpc_os_adapter.h"
#include <pthread.h>
int32_t
RpcGetPid
(
void
)
{
return
0
;
return
(
int32_t
)
pthread_self
();
// Use tid instead of pid on mini system
}
int32_t
RpcGetUid
(
void
)
...
...
ipc/native/c/manager/include/ipc_process_skeleton.h
浏览文件 @
6253fcec
...
...
@@ -64,7 +64,7 @@ const SvcIdentity *GetRegistryObject(void);
int32_t
ProcessSendRequest
(
SvcIdentity
target
,
uint32_t
code
,
IpcIo
*
data
,
IpcIo
*
reply
,
MessageOption
option
,
uintptr_t
*
buffer
);
int32_t
ProcessFreeBuffer
(
void
*
ptr
);
void
On
La
stStrongRef
(
int32_t
handle
);
void
On
Fir
stStrongRef
(
int32_t
handle
);
int32_t
ProcessAddDeathRecipient
(
int32_t
handle
,
OnRemoteDead
deathFunc
,
void
*
args
,
uint32_t
*
cbId
);
int32_t
ProcessRemoveDeathRecipient
(
int32_t
handle
,
uint32_t
cbId
);
int32_t
OnRemoteRequestInner
(
uint32_t
code
,
IpcIo
*
data
,
IpcIo
*
reply
,
...
...
ipc/native/c/manager/src/ipc_process_skeleton.c
浏览文件 @
6253fcec
...
...
@@ -240,7 +240,7 @@ static bool FirstAddObject(int32_t handle)
return
true
;
}
static
void
OnFirstStrongRef
(
int32_t
handle
)
void
OnFirstStrongRef
(
int32_t
handle
)
{
if
(
handle
<=
0
)
{
RPC_LOG_ERROR
(
"invalid handle."
);
...
...
ipc/native/c/manager/src/serializer.c
浏览文件 @
6253fcec
...
...
@@ -247,9 +247,11 @@ int32_t ReadFileDescriptor(IpcIo *io)
#else
bool
WriteRemoteObject
(
IpcIo
*
io
,
const
SvcIdentity
*
svc
)
{
(
void
)
io
;
(
void
)
svc
;
return
false
;
if
(
io
==
NULL
||
svc
==
NULL
)
{
RPC_LOG_ERROR
(
"push io or svc is NULL ..."
);
return
false
;
}
return
WriteBuffer
(
io
,
svc
,
sizeof
(
SvcIdentity
));
}
bool
WriteFileDescriptor
(
IpcIo
*
io
,
uint32_t
fd
)
...
...
@@ -261,9 +263,18 @@ bool WriteFileDescriptor(IpcIo *io, uint32_t fd)
bool
ReadRemoteObject
(
IpcIo
*
io
,
SvcIdentity
*
svc
)
{
(
void
)
io
;
(
void
)
svc
;
return
false
;
if
(
io
==
NULL
||
svc
==
NULL
)
{
return
false
;
}
SvcIdentity
*
svcId
=
ReadBuffer
(
io
,
sizeof
(
SvcIdentity
));
if
(
svcId
==
NULL
)
{
return
false
;
}
svc
->
handle
=
svcId
->
handle
;
svc
->
token
=
svcId
->
token
;
svc
->
cookie
=
svcId
->
cookie
;
WaitForProxyInit
(
svcId
->
handle
);
return
true
;
}
int32_t
ReadFileDescriptor
(
IpcIo
*
io
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录