mirror of
https://gitee.com/openharmony/telephony_ril_adapter
synced 2024-11-23 15:50:13 +00:00
条件竞争问题整改
Signed-off-by: wulimm <hanjing5@huawei.com>
This commit is contained in:
parent
3bcc4f3d73
commit
9e165f124e
@ -57,7 +57,7 @@ private:
|
||||
void ProcessPendingList();
|
||||
void EraseListenEvent(HRilEventMessage &eventMsg, int32_t index);
|
||||
void ProcessEvents(fd_set *rfds, int32_t number);
|
||||
bool GetEventMessageFromPendingList(HRilEventMessage *eventMsg);
|
||||
bool HasEventMessageFromPendingList(HRilEventMessage *eventMsg);
|
||||
void CopyReadFds(fd_set *rfds);
|
||||
|
||||
std::mutex listLock_;
|
||||
|
@ -77,7 +77,7 @@ void HRilEvent::ProcessTimerList()
|
||||
}
|
||||
}
|
||||
|
||||
bool HRilEvent::GetEventMessageFromPendingList(HRilEventMessage *eventMsg)
|
||||
bool HRilEvent::HasEventMessageFromPendingList(HRilEventMessage *eventMsg)
|
||||
{
|
||||
std::lock_guard<std::mutex> mutexLock(listLock_);
|
||||
std::list<HRilEventMessage>::iterator eventIt = pendingList_.begin();
|
||||
@ -96,11 +96,7 @@ bool HRilEvent::GetEventMessageFromPendingList(HRilEventMessage *eventMsg)
|
||||
void HRilEvent::ProcessPendingList()
|
||||
{
|
||||
HRilEventMessage evMsg = {};
|
||||
while (1) {
|
||||
if (!GetEventMessageFromPendingList(&evMsg)) {
|
||||
break;
|
||||
}
|
||||
|
||||
while (HasEventMessageFromPendingList(&evMsg)) {
|
||||
if (evMsg.func != nullptr) {
|
||||
evMsg.func(evMsg.fd, 0, evMsg.param);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user