Hi,
After setting IP configuration for given service, dbus events for connection
and disconnection of service are no longer triggered.
The problem is that inside of __connman_notifier_connect there is no check for
overflowing variable which indicates if service is connected (such check is
done in __connman_notifier_disconnect).
Regards,
Mateusz Polrola
---
src/notifier.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/notifier.c b/src/notifier.c
index 6a601ce..1146a35 100644
--- a/src/notifier.c
+++ b/src/notifier.c
@@ -154,6 +154,13 @@ void __connman_notifier_connect(enum connman_service_type
type)
case CONNMAN_SERVICE_TYPE_CELLULAR:
break;
}
+
+ __sync_synchronize();
+ if (connected[type] == 1) {
+ connman_error("notifier connect overflow");
+ return;
+ }
+
if (__sync_fetch_and_add(&connected[type], 1) == 0) {
__connman_technology_set_connected(type, true);
--
1.7.11.7
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman