From: Jukka Rissanen Date: Mon, 31 Oct 2011 15:38:15 +0000 (+0200) Subject: inet: Cleanup the router solicitations handler properly X-Git-Tag: 2.0_alpha~970 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=73320cf9363e2121b923bca66d63a3664ffd2049;p=framework%2Fconnectivity%2Fconnman.git inet: Cleanup the router solicitations handler properly --- diff --git a/src/inet.c b/src/inet.c index c941718..a2a66da 100644 --- a/src/inet.c +++ b/src/inet.c @@ -1417,6 +1417,7 @@ struct rs_cb_data { __connman_inet_rs_cb_t callback; struct sockaddr_in6 addr; guint rs_timeout; + guint watch_id; void *user_data; }; @@ -1439,6 +1440,9 @@ static void rs_cleanup(struct rs_cb_data *data) if (data->rs_timeout > 0) g_source_remove(data->rs_timeout); + if (data->watch_id > 0) + g_source_remove(data->watch_id); + g_free(data); } @@ -1708,7 +1712,7 @@ int __connman_inet_ipv6_send_rs(int index, int timeout, g_io_channel_set_encoding(data->channel, NULL, NULL); g_io_channel_set_buffered(data->channel, FALSE); - g_io_add_watch(data->channel, + data->watch_id = g_io_add_watch(data->channel, G_IO_IN | G_IO_NVAL | G_IO_HUP | G_IO_ERR, icmpv6_event, data);