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

Reply via email to