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;
}
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);
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;
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)
{
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)
{
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)
{