Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
communication_ipc
提交
411bce7e
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,发现更多精彩内容 >>
提交
411bce7e
编写于
7月 25, 2021
作者:
O
openharmony_ci
提交者:
Gitee
7月 25, 2021
浏览文件
操作
浏览文件
下载
差异文件
!10 [Lightweight PR]: fix bug of fail to get caller pid uid
Merge pull request !10 from liangshenglin1/N/A
上级
a496461a
4f3702c4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
8 addition
and
5 deletion
+8
-5
ipc/native/src/mock/include/dbinder_base_invoker.h
ipc/native/src/mock/include/dbinder_base_invoker.h
+2
-2
ipc/native/src/mock/source/binder_invoker.cpp
ipc/native/src/mock/source/binder_invoker.cpp
+2
-1
services/dbinder/dbinder_service/include/dbinder_remote_listener.h
...dbinder/dbinder_service/include/dbinder_remote_listener.h
+0
-1
services/dbinder/dbinder_service/src/socket/dbinder_remote_listener.cpp
...er/dbinder_service/src/socket/dbinder_remote_listener.cpp
+4
-1
未找到文件。
ipc/native/src/mock/include/dbinder_base_invoker.h
浏览文件 @
411bce7e
...
...
@@ -848,7 +848,7 @@ template <class T> void DBinderBaseInvoker<T>::ProcessTransaction(dbinder_transa
const
pid_t
oldPid
=
GetCallerPid
();
const
auto
oldUid
=
static_cast
<
const
uid_t
>
(
GetCallerUid
());
const
std
::
string
oldDeviceId
=
GetCallerDeviceID
();
uint32_t
oldStatus
=
GetStatus
();
if
(
CheckAndSetCallerInfo
(
listenFd
,
tr
->
cookie
)
!=
ERR_NONE
)
{
DBINDER_BASE_LOGE
(
"set user info error, maybe cookie is NOT belong to current caller"
);
return
;
...
...
@@ -898,7 +898,7 @@ template <class T> void DBinderBaseInvoker<T>::ProcessTransaction(dbinder_transa
SetCallerPid
(
oldPid
);
SetCallerUid
(
oldUid
);
SetCallerDeviceID
(
oldDeviceId
);
SetStatus
(
IRemoteInvoker
::
IDLE_INVOKER
);
SetStatus
(
oldStatus
);
}
template
<
class
T
>
void
DBinderBaseInvoker
<
T
>::
ProcessReply
(
dbinder_transaction_data
*
tr
,
uint32_t
listenFd
)
...
...
ipc/native/src/mock/source/binder_invoker.cpp
浏览文件 @
411bce7e
...
...
@@ -423,6 +423,7 @@ void BinderInvoker::OnTransaction(const uint8_t *buffer)
#endif
const
pid_t
oldPid
=
callerPid_
;
const
auto
oldUid
=
static_cast
<
const
uid_t
>
(
callerUid_
);
uint32_t
oldStatus
=
status_
;
callerPid_
=
tr
->
sender_pid
;
callerUid_
=
tr
->
sender_euid
;
SetStatus
(
IRemoteInvoker
::
ACTIVE_INVOKER
);
...
...
@@ -452,7 +453,7 @@ void BinderInvoker::OnTransaction(const uint8_t *buffer)
}
callerPid_
=
oldPid
;
callerUid_
=
oldUid
;
SetStatus
(
IRemoteInvoker
::
IDLE_INVOKER
);
SetStatus
(
oldStatus
);
}
void
BinderInvoker
::
OnAttemptAcquire
()
...
...
services/dbinder/dbinder_service/include/dbinder_remote_listener.h
浏览文件 @
411bce7e
...
...
@@ -58,7 +58,6 @@ private:
DISALLOW_COPY_AND_MOVE
(
DBinderRemoteListener
);
std
::
mutex
busManagerMutex_
;
std
::
shared_ptr
<
ISessionService
>
softbusManager_
;
sptr
<
DBinderService
>
dBinderService_
;
};
}
// namespace OHOS
...
...
services/dbinder/dbinder_service/src/socket/dbinder_remote_listener.cpp
浏览文件 @
411bce7e
...
...
@@ -35,7 +35,7 @@ DBinderRemoteListener::~DBinderRemoteListener()
bool
DBinderRemoteListener
::
StartListener
()
{
std
::
lock_guard
<
std
::
mutex
>
lockGuard
(
busManagerMutex_
);
softbusManager_
=
ISessionService
::
GetInstance
();
s
td
::
shared_ptr
<
ISessionService
>
s
oftbusManager_
=
ISessionService
::
GetInstance
();
if
(
softbusManager_
==
nullptr
)
{
DBINDER_LOGE
(
"fail to get softbus service"
);
return
false
;
...
...
@@ -52,6 +52,7 @@ bool DBinderRemoteListener::StartListener()
bool
DBinderRemoteListener
::
StopListener
()
{
std
::
lock_guard
<
std
::
mutex
>
lockGuard
(
busManagerMutex_
);
std
::
shared_ptr
<
ISessionService
>
softbusManager_
=
ISessionService
::
GetInstance
();
if
(
softbusManager_
==
nullptr
)
{
DBINDER_LOGE
(
"softbus manager is null"
);
return
false
;
...
...
@@ -90,6 +91,7 @@ bool DBinderRemoteListener::SendDataToRemote(const std::string &deviceId, const
bool
DBinderRemoteListener
::
CloseDatabusSession
(
const
std
::
string
&
deviceId
)
{
std
::
lock_guard
<
std
::
mutex
>
lockGuard
(
busManagerMutex_
);
std
::
shared_ptr
<
ISessionService
>
softbusManager_
=
ISessionService
::
GetInstance
();
if
(
softbusManager_
==
nullptr
)
{
DBINDER_LOGE
(
"softbus manager is null"
);
return
false
;
...
...
@@ -108,6 +110,7 @@ bool DBinderRemoteListener::CloseDatabusSession(const std::string &deviceId)
std
::
shared_ptr
<
Session
>
DBinderRemoteListener
::
OpenSoftbusSession
(
const
std
::
string
&
peerDeviceId
)
{
std
::
lock_guard
<
std
::
mutex
>
lockGuard
(
busManagerMutex_
);
std
::
shared_ptr
<
ISessionService
>
softbusManager_
=
ISessionService
::
GetInstance
();
if
(
softbusManager_
==
nullptr
)
{
DBINDER_LOGE
(
"softbus manager is null"
);
return
nullptr
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录