From 5c0c41e87ed5d1a2de7d336465c3beb3987a299f Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Fri, 24 Feb 2017 11:10:02 +0000 Subject: Remove socket read management by systemd event loop and use classic thread with a blocking read Change-Id: Iac5428009b57c727bb32bd4893bc3fe282ba35c7 Signed-off-by: Romain Forlot --- src/low-can-binding.cpp | 28 ---------------------------- 1 file changed, 28 deletions(-) (limited to 'src/low-can-binding.cpp') diff --git a/src/low-can-binding.cpp b/src/low-can-binding.cpp index ea8803f2..21517903 100644 --- a/src/low-can-binding.cpp +++ b/src/low-can-binding.cpp @@ -52,34 +52,6 @@ const struct afb_binding_interface *binder_interface; */ can_bus_t *can_bus_handler; -/******************************************************************************** -* -* Event management -* -*********************************************************************************/ -int can_frame_received(sd_event_source *s, int fd, uint32_t revents, void *userdata) -{ - can_bus_dev_t *can_bus_dev = (can_bus_dev_t*)userdata; - - /* Notify reading thread that there is something to read */ - if ((revents & EPOLLIN) != 0) { - new_can_frame.notify_one(); - } - - /* check if error or hangup and reopen the socket and event_loop. - * socket is protected by a mutex */ - if ((revents & (EPOLLERR|EPOLLRDHUP|EPOLLHUP)) != 0) - { - std::lock_guard can_frame_lock(can_frame_mutex); - sd_event_source_unref(s); - can_bus_dev->close(); - can_bus_dev->open(); - can_bus_dev->start_reading(*can_bus_handler); - can_bus_dev->event_loop_connection(); - } - - return 0; -} /******************************************************************************** * * Subscription and unsubscription -- cgit 1.2.3-korg