The cleanup routine must be called after an error and after
calling RS callback, otherwise the timeout is not removed
in right time.
---
src/inet.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/inet.c b/src/inet.c
index d898650..56f29fd 100644
--- a/src/inet.c
+++ b/src/inet.c
@@ -1487,6 +1487,7 @@ static int icmpv6_recv(int fd, gpointer user_data)
len = recvmsg(fd, &mhdr, 0);
if (len < 0) {
data->callback(NULL, data->user_data);
+ rs_cleanup(data);
return -errno;
}
--
1.7.1
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman