From 850a6d5fc8313b94f4a46eb7b18b20e982879d74 Mon Sep 17 00:00:00 2001 From: "kibak.yoon" Date: Tue, 22 Mar 2016 23:08:12 +0900 Subject: [PATCH] sensord: check whether the data is valid or not Change-Id: Ia456be16c90f949b1d32bbdc53579b41d58a477d Signed-off-by: kibak.yoon --- src/server/command_worker.cpp | 3 +++ src/server/sensor_event_poller.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/server/command_worker.cpp b/src/server/command_worker.cpp index b10071f..83e5bce 100644 --- a/src/server/command_worker.cpp +++ b/src/server/command_worker.cpp @@ -712,6 +712,9 @@ bool command_worker::cmd_get_data(void *payload) remain_count = m_module->get_data(&data, &length); + if (remain_count < 0) + state = OP_ERROR; + // In case of not getting sensor data, wait short time and retry again // 1. changing interval to be less than 10ms // 2. In case of first time, wait for INIT_WAIT_TIME diff --git a/src/server/sensor_event_poller.cpp b/src/server/sensor_event_poller.cpp index 6058eed..082d689 100644 --- a/src/server/sensor_event_poller.cpp +++ b/src/server/sensor_event_poller.cpp @@ -51,6 +51,9 @@ void sensor_event_poller::init_sensor_map() fd = sensor->get_poll_fd(); + if (fd < 0) + continue; + m_fd_sensors.insert(std::make_pair(fd, sensor)); } } -- 2.7.4