summaryrefslogtreecommitdiffstats
path: root/gatchat
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-05-08 23:02:19 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-05-08 23:02:19 -0500
commitd48c3091512f794a40e175038125bb56b78de1a7 (patch)
tree5790dd55d2e53de9fe30729fabb1abab6f8340bb /gatchat
parent9fea1535934b5f04a82b43a6a465cccd4f490586 (diff)
downloadofono-d48c3091512f794a40e175038125bb56b78de1a7.tar.bz2
ppp_net: Reset the watch to zero when removing
Diffstat (limited to 'gatchat')
-rw-r--r--gatchat/ppp_net.c13
1 files changed, 10 insertions, 3 deletions
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;
}