diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-05-08 23:02:19 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-05-08 23:02:19 -0500 |
commit | d48c3091512f794a40e175038125bb56b78de1a7 (patch) | |
tree | 5790dd55d2e53de9fe30729fabb1abab6f8340bb /gatchat/ppp_net.c | |
parent | 9fea1535934b5f04a82b43a6a465cccd4f490586 (diff) | |
download | ofono-d48c3091512f794a40e175038125bb56b78de1a7.tar.bz2 |
ppp_net: Reset the watch to zero when removing
Diffstat (limited to 'gatchat/ppp_net.c')
-rw-r--r-- | gatchat/ppp_net.c | 13 |
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; } |