Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
communication_ipc
提交
910f9f1c
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,发现更多精彩内容 >>
未验证
提交
910f9f1c
编写于
4月 22, 2022
作者:
O
openharmony_ci
提交者:
Gitee
4月 22, 2022
浏览文件
操作
浏览文件
下载
差异文件
!233 IPC:lock optimization & modify __cplusplus
Merge pull request !233 from liubb_0516/master
上级
c70e0521
d697aca9
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
12 addition
and
44 deletion
+12
-44
interfaces/innerkits/c/dbinder/include/dbinder_service.h
interfaces/innerkits/c/dbinder/include/dbinder_service.h
+0
-4
interfaces/innerkits/c/ipc/include/ipc_skeleton.h
interfaces/innerkits/c/ipc/include/ipc_skeleton.h
+0
-4
interfaces/innerkits/c/ipc/include/serializer.h
interfaces/innerkits/c/ipc/include/serializer.h
+0
-4
ipc/native/c/adapter/include/rpc_os_adapter.h
ipc/native/c/adapter/include/rpc_os_adapter.h
+1
-4
ipc/native/c/ipc/include/ipc_invoker.h
ipc/native/c/ipc/include/ipc_invoker.h
+0
-4
ipc/native/c/manager/include/ipc_process_skeleton.h
ipc/native/c/manager/include/ipc_process_skeleton.h
+0
-4
ipc/native/c/manager/include/ipc_thread_pool.h
ipc/native/c/manager/include/ipc_thread_pool.h
+0
-4
ipc/native/c/manager/include/iremote_invoker.h
ipc/native/c/manager/include/iremote_invoker.h
+0
-4
ipc/native/c/manager/include/rpc_log.h
ipc/native/c/manager/include/rpc_log.h
+0
-4
ipc/native/c/manager/include/serializer_inner.h
ipc/native/c/manager/include/serializer_inner.h
+0
-4
ipc/native/c/manager/src/ipc_thread_pool.c
ipc/native/c/manager/src/ipc_thread_pool.c
+11
-4
未找到文件。
interfaces/innerkits/c/dbinder/include/dbinder_service.h
浏览文件 @
910f9f1c
...
...
@@ -19,10 +19,8 @@
#include <stdint.h>
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
int32_t
StartDBinderService
(
void
);
int32_t
RegisterRemoteProxy
(
const
void
*
name
,
uint32_t
len
,
int32_t
systemAbility
);
...
...
@@ -30,8 +28,6 @@ int32_t MakeRemoteBinder(const void *serviceName, uint32_t nameLen, const char *
uintptr_t
binderObject
,
uint64_t
pid
,
void
*
remoteObject
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
/* __cplusplus */
#endif
/* __cplusplus */
#endif
/* DBINDER_SERVICE_H */
\ No newline at end of file
interfaces/innerkits/c/ipc/include/ipc_skeleton.h
浏览文件 @
910f9f1c
...
...
@@ -24,9 +24,7 @@
#include "serializer.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
/* __cplusplus */
enum
{
...
...
@@ -78,8 +76,6 @@ int32_t MessageOptionInit(MessageOption *option);
int32_t
ReleaseSvc
(
SvcIdentity
target
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_SKELETON_H */
interfaces/innerkits/c/ipc/include/serializer.h
浏览文件 @
910f9f1c
...
...
@@ -21,10 +21,8 @@
#include <stdint.h>
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
/* __cplusplus */
#endif
/* __cplusplus */
typedef
struct
{
char
*
bufferBase
;
...
...
@@ -128,9 +126,7 @@ float *ReadFloatVector(IpcIo *io, size_t *size);
double
*
ReadDoubleVector
(
IpcIo
*
io
,
size_t
*
size
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
/* __cplusplus */
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_SERIALIZER_H */
ipc/native/c/adapter/include/rpc_os_adapter.h
浏览文件 @
910f9f1c
...
...
@@ -19,17 +19,14 @@
#include <stdint.h>
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
/* __cplusplus */
int32_t
RpcGetPid
(
void
);
int32_t
RpcGetUid
(
void
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_OS_ADAPTER_H */
ipc/native/c/ipc/include/ipc_invoker.h
浏览文件 @
910f9f1c
...
...
@@ -19,16 +19,12 @@
#include "iremote_invoker.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
/* __cplusplus */
RemoteInvoker
*
GetIpcInvoker
(
void
);
void
DeinitIpcInvoker
(
RemoteInvoker
*
invoker
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_INVOKER_H */
\ No newline at end of file
ipc/native/c/manager/include/ipc_process_skeleton.h
浏览文件 @
910f9f1c
...
...
@@ -24,9 +24,7 @@
#include "utils_list.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
/* __cplusplus */
typedef
struct
{
...
...
@@ -74,8 +72,6 @@ void WaitForProxyInit(SvcIdentity *svc);
int32_t
DeleteHandle
(
int32_t
handle
);
void
ResetIpc
(
void
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_PROCESS_SKELETON_H */
\ No newline at end of file
ipc/native/c/manager/include/ipc_thread_pool.h
浏览文件 @
910f9f1c
...
...
@@ -24,9 +24,7 @@
#include "dbinder_types.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
/* __cplusplus */
enum
{
...
...
@@ -69,8 +67,6 @@ RemoteInvoker *GetRemoteInvoker(void);
void
UpdateMaxThreadNum
(
ThreadPool
*
threadPool
,
int32_t
maxThreadNum
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_THRREAD_H */
\ No newline at end of file
ipc/native/c/manager/include/iremote_invoker.h
浏览文件 @
910f9f1c
...
...
@@ -21,9 +21,7 @@
#include "serializer.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
/* __cplusplus */
typedef
struct
{
...
...
@@ -46,8 +44,6 @@ typedef struct {
RemoteInvoker
*
InitRemoteInvoker
(
int32_t
proto
);
void
DeinitRemoteInvoker
(
RemoteInvoker
*
invoker
,
int32_t
proto
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_IREMOTTE_INVOKER_H */
\ No newline at end of file
ipc/native/c/manager/include/rpc_log.h
浏览文件 @
910f9f1c
...
...
@@ -29,10 +29,8 @@
#endif
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
#endif
#ifndef IPCRPC_DEBUG
#if defined(__LITEOS_M__)
...
...
@@ -110,8 +108,6 @@ typedef enum {
void
RpcLog
(
RpcLogModule
module
,
RpcLogLevel
level
,
const
char
*
fmt
,
...);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_LOG_H */
\ No newline at end of file
ipc/native/c/manager/include/serializer_inner.h
浏览文件 @
910f9f1c
...
...
@@ -19,18 +19,14 @@
#include "serializer.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
#endif
/* __cplusplus */
#endif
/* __cplusplus */
void
*
IoPush
(
IpcIo
*
io
,
size_t
size
);
void
*
IoPop
(
IpcIo
*
io
,
size_t
size
);
#ifdef __cplusplus
#if __cplusplus
}
#endif
/* __cplusplus */
#endif
/* __cplusplus */
#endif
/* OHOS_IPC_RPC_SERIALIZER_INNER_H */
ipc/native/c/manager/src/ipc_thread_pool.c
浏览文件 @
910f9f1c
...
...
@@ -150,6 +150,12 @@ int32_t SpawnNewThread(ThreadPool *threadPool, int32_t policy, int32_t proto)
RPC_LOG_ERROR
(
"get thread pool lock failed."
);
return
ERR_FAILED
;
}
if
(
!
(
proto
==
IF_PROT_BINDER
&&
threadPool
->
idleThreadNum
>
0
)
&&
!
(
proto
==
IF_PROT_DATABUS
&&
threadPool
->
idleSocketThreadNum
>
0
))
{
pthread_mutex_unlock
(
&
threadPool
->
lock
);
RPC_LOG_ERROR
(
"thread pool is full."
);
return
ERR_INVALID_PARAM
;
}
ThreadContext
*
threadContext
=
(
ThreadContext
*
)
calloc
(
1
,
sizeof
(
ThreadContext
));
if
(
threadContext
==
NULL
)
{
pthread_mutex_unlock
(
&
threadPool
->
lock
);
...
...
@@ -178,15 +184,16 @@ int32_t SpawnNewThread(ThreadPool *threadPool, int32_t policy, int32_t proto)
void
UpdateMaxThreadNum
(
ThreadPool
*
threadPool
,
int32_t
maxThreadNum
)
{
int32_t
totalNum
=
maxThreadNum
+
maxThreadNum
;
if
(
pthread_mutex_lock
(
&
threadPool
->
lock
)
!=
0
)
{
RPC_LOG_ERROR
(
"get thread pool lock failed."
);
return
;
}
int32_t
oldThreadNum
=
threadPool
->
maxThreadNum
;
if
(
totalNum
<=
oldThreadNum
)
{
pthread_mutex_unlock
(
&
threadPool
->
lock
);
RPC_LOG_ERROR
(
"not support set lower max thread num."
);
return
;
}
if
(
pthread_mutex_lock
(
&
threadPool
->
lock
)
!=
0
)
{
RPC_LOG_ERROR
(
"get thread pool lock failed."
);
return
;
}
int32_t
diff
=
totalNum
-
oldThreadNum
;
threadPool
->
maxThreadNum
=
totalNum
;
threadPool
->
idleThreadNum
+=
diff
/
PROTO_NUM
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录