diff --git a/frameworks/native/sensor/src/sensor_data_channel.cpp b/frameworks/native/sensor/src/sensor_data_channel.cpp old mode 100755 new mode 100644 index fc96e209ea7d0102e9f35c964e292ddd11efc883..371d8869cb78295af5f8424cf942f0ad45a7cad2 --- a/frameworks/native/sensor/src/sensor_data_channel.cpp +++ b/frameworks/native/sensor/src/sensor_data_channel.cpp @@ -35,12 +35,9 @@ namespace Sensors { using namespace OHOS::HiviewDFX; using namespace OHOS::AppExecFwk; std::shared_ptr SensorDataChannel::eventHandler_; -std::shared_ptr SensorDataChannel::eventRunner_; namespace { constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_NATIVE, "SensorDataChannel" }; -// max 100 data in cache buffer -constexpr uint32_t STOP_EVENT_ID = 0; } // namespace int32_t SensorDataChannel::CreateSensorDataChannel(DataChannelCB callBack, void *data) @@ -74,41 +71,23 @@ int32_t SensorDataChannel::InnerSensorDataChannel() listener->SetChannel(this); auto myRunner = AppExecFwk::EventRunner::Create(true); CHKPR(myRunner, ERROR); - auto handler = std::make_shared(myRunner); - CHKPR(handler, ERROR); + eventHandler_ = std::make_shared(myRunner); + CHKPR(eventHandler_, ERROR); int32_t receiveFd = GetReceiveDataFd(); - auto inResult = handler->AddFileDescriptorListener(receiveFd, AppExecFwk::FILE_DESCRIPTOR_INPUT_EVENT, listener); + auto inResult = eventHandler_->AddFileDescriptorListener(receiveFd, + AppExecFwk::FILE_DESCRIPTOR_INPUT_EVENT, listener); if (inResult != 0) { SEN_HILOGE("AddFileDescriptorListener fail"); return ERROR; } - eventHandler_ = handler; - eventRunner_ = myRunner; - int64_t delayTime = 100; - int64_t param = 0; - bool sendEventResult = eventHandler_->SendEvent(STOP_EVENT_ID, param, delayTime); - if (!sendEventResult) { - SEN_HILOGE("EventHandler SendEvent fail"); - return ERROR; - } - int32_t runResult = eventRunner_->Run(); - if (!runResult) { - SEN_HILOGE("EventRunner run fail"); - return ERROR; - } return ERR_OK; } int32_t SensorDataChannel::DestroySensorDataChannel() { std::lock_guard eventRunnerLock(eventRunnerMutex_); - CHKPR(eventHandler_, ERROR); - CHKPR(eventRunner_, ERROR); - int32_t receiveFd = GetReceiveDataFd(); - eventHandler_->RemoveFileDescriptorListener(receiveFd); + CHKPL(eventHandler_); eventHandler_ = nullptr; - eventRunner_->Stop(); - eventRunner_ = nullptr; // destroy sensor basic channelx return DestroySensorBasicChannel(); } diff --git a/interfaces/native/src/geomagnetic_field.cpp b/interfaces/native/src/geomagnetic_field.cpp index 7b2de3b15e9ab30e6bc61b4bd1d626706633c765..254abf351f26c2f805ce51b0e72c468c2902da7e 100644 --- a/interfaces/native/src/geomagnetic_field.cpp +++ b/interfaces/native/src/geomagnetic_field.cpp @@ -285,13 +285,11 @@ float GeomagneticField::ObtainGeomagneticDip() double GeomagneticField::ToDegrees(double angrad) { - std::lock_guard geomagneticLock(mutex_); return angrad * 180.0 / M_PI; } double GeomagneticField::ToRadians(double angdeg) { - std::lock_guard geomagneticLock(mutex_); return angdeg / 180.0 * M_PI; }