From d48c3091512f794a40e175038125bb56b78de1a7 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Sun, 8 May 2011 23:02:19 -0500 Subject: ppp_net: Reset the watch to zero when removing --- gatchat/ppp_net.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gatchat') diff --git a/gatchat/ppp_net.c b/gatchat/ppp_net.c index 9abf5905..25bcfa47 100644 --- a/gatchat/ppp_net.c +++ b/gatchat/ppp_net.c @@ -189,7 +189,11 @@ error: void ppp_net_free(struct ppp_net *net) { - g_source_remove(net->watch); + if (net->watch) { + g_source_remove(net->watch); + net->watch = 0; + } + g_io_channel_unref(net->channel); g_free(net->ppp_packet); @@ -202,6 +206,9 @@ void ppp_net_suspend_interface(struct ppp_net *net) if (net == NULL || net->channel == NULL) return; - if (net->watch) - g_source_remove(net->watch); + if (net->watch == 0) + return; + + g_source_remove(net->watch); + net->watch = 0; } -- cgit v1.2.3