Fix: read 2 times for 1 incoming CAN frame.
authorRomain Forlot <romain.forlot@iot.bzh>
Wed, 7 Jun 2017 13:42:21 +0000 (15:42 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Wed, 7 Jun 2017 13:42:21 +0000 (15:42 +0200)
Change-Id: I7be7b5e704b3cb081e1dbd73a6ba7f88a2bbc62f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
CAN-binder/low-can-binding/binding/low-can-cb.cpp

index fbe6e19..bc94eed 100644 (file)
@@ -242,13 +242,13 @@ static int subscribe_unsubscribe_can_signals(struct afb_req request, bool subscr
                         can_subscription = std::make_shared<low_can_subscription_t>(low_can_subscription_t(event_filter));
                        if(can_subscription->create_rx_filter(sig) < 0)
                                {return -1;}
+                       if(add_to_event_loop(can_subscription) < 0)
+                               {return -1;}
                }
 
                if(subscribe_unsubscribe_signal(request, subscribe, can_subscription, s) < 0)
                        {return -1;}
 
-               if(add_to_event_loop(can_subscription) < 0)
-                       {return -1;}
                rets++;
                DEBUG(binder_interface, "%s: signal: %s subscribed", __FUNCTION__, sig->get_name().c_str());
        }