sensord: change socket type from stream to seqpacket 10/99910/2
authorkibak.yoon <kibak.yoon@samsung.com>
Thu, 27 Oct 2016 15:26:34 +0000 (00:26 +0900)
committerkibak.yoon <kibak.yoon@samsung.com>
Wed, 30 Nov 2016 13:04:55 +0000 (22:04 +0900)
Change-Id: I3ecc7f26e9917b29dfeaf4a9164012bf3df2c8f2
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
src/client/sensor_event_listener.cpp
src/shared/csocket.cpp

index dc402714eba4e401aeff60874ae1df63cbfd782f..fd11d4fe730c88940e741e6b09f94ba8575f93cc 100644 (file)
@@ -240,13 +240,13 @@ ssize_t sensor_event_listener::sensor_event_poll(void* buffer, int buffer_len, s
                len = m_event_socket.recv(buffer, buffer_len);
 
                if (!len) {
-                       _I("%s failed to read after poll!", get_client_name());
+                       _E("%s failed to read after poll!", get_client_name());
                        return -1;
                }
        }
 
        if (len < 0) {
-               _I("%s failed to recv event from event socket", get_client_name());
+               _E("%s failed to recv event from event socket", get_client_name());
                return -1;
        }
 
@@ -277,6 +277,10 @@ void sensor_event_listener::listen_events(void)
 
                sensor_event_t *sensor_event = reinterpret_cast<sensor_event_t *>(buffer);
                data_len = sensor_event->data_length;
+
+               if (data_len == 0)
+                       continue;
+
                buffer_data = malloc(data_len);
 
                len = sensor_event_poll(buffer_data, data_len, event);
@@ -291,6 +295,13 @@ void sensor_event_listener::listen_events(void)
                handle_events((void *)buffer);
        } while (true);
 
+       if (m_poller) {
+               delete m_poller;
+               m_poller = NULL;
+       }
+
+       close_event_channel();
+
        { /* the scope for the lock */
                lock l(m_thread_mutex);
                m_thread_state = THREAD_STATE_TERMINATE;
index 46033ea27a4f6c34568bc22ee5798aed394d5b65..25a70769cad99c4eaffc010672e1c95ffb83eee5 100644 (file)
@@ -25,7 +25,7 @@
 
 csocket::csocket()
 : m_sock_fd(-1)
-, m_sock_type(SOCK_STREAM)
+, m_sock_type(SOCK_SEQPACKET)
 , m_send_flags(MSG_NOSIGNAL)
 , m_recv_flags(MSG_NOSIGNAL)
 {
@@ -34,7 +34,7 @@ csocket::csocket()
 
 csocket::csocket(int sock_fd)
 : m_sock_fd(-1)
-, m_sock_type(SOCK_STREAM)
+, m_sock_type(SOCK_SEQPACKET)
 , m_send_flags(MSG_NOSIGNAL)
 , m_recv_flags(MSG_NOSIGNAL)
 {
@@ -45,7 +45,7 @@ csocket::csocket(int sock_fd)
 
 csocket::csocket(const csocket &sock)
 : m_sock_fd(-1)
-, m_sock_type(SOCK_STREAM)
+, m_sock_type(SOCK_SEQPACKET)
 , m_send_flags(MSG_NOSIGNAL)
 , m_recv_flags(MSG_NOSIGNAL)
 {