From: Romain Forlot <romain.forlot@iot.bzh> Date: Thu, 16 Mar 2017 18:23:55 +0000 (+0100) Subject: Wrong error handling when fire diagnostic request. X-Git-Tag: 3.99.1~242 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=11896f4d36c4c5c81cf86e8356eb5b3777272f4b;p=apps%2Flow-level-can-service.git Wrong error handling when fire diagnostic request. As returned code was negative value the sd_event_source stopped considering that was an error. If statement was to check that sd_event_set_enabled was ok, so unref and return wasn't at the right location... Change-Id: I91cc943c20af80a31b4f66f5714ccef93c0fdbd2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> --- diff --git a/src/diagnostic/diagnostic-manager.cpp b/src/diagnostic/diagnostic-manager.cpp index 4fc34b1..5a8d23b 100644 --- a/src/diagnostic/diagnostic-manager.cpp +++ b/src/diagnostic/diagnostic-manager.cpp @@ -461,16 +461,14 @@ int diagnostic_manager_t::send_request(sd_event_source *s, uint64_t usec, void * DEBUG(binder_interface, "send_request: Event loop state: %d. usec: %ld", sd_event_get_state(afb_daemon_get_event_loop(binder_interface->daemon)), usec); if(sd_event_source_set_time(s, usec+1000000) >= 0) if(sd_event_source_set_enabled(s, SD_EVENT_ON) >= 0) - { - sd_event_source_unref(s); - return -2; - } - return 1; + return 0; + sd_event_source_unref(s); + return -1; } } sd_event_source_unref(s); ERROR(binder_interface, "send_request: Something goes wrong when submitting a new request to the CAN bus"); - return -3; + return -2; } /// @brief Will decode the diagnostic response and build the final openxc_VehicleMessage to return.