mirror of git://git.sysmocom.de/ofono
gatmux: fix read channel remove on error
In case of invalid IO, read_watch is not reset. This fix crash on destroy gatmux.
This commit is contained in:
parent
54fb56df24
commit
da47398525
|
@ -598,6 +598,13 @@ void g_at_mux_unref(GAtMux *mux)
|
|||
}
|
||||
}
|
||||
|
||||
static void read_watcher_destroy_notify(gpointer user_data)
|
||||
{
|
||||
GAtMux *mux = user_data;
|
||||
|
||||
mux->read_watch = 0;
|
||||
}
|
||||
|
||||
gboolean g_at_mux_start(GAtMux *mux)
|
||||
{
|
||||
if (mux->channel == NULL)
|
||||
|
@ -611,7 +618,7 @@ gboolean g_at_mux_start(GAtMux *mux)
|
|||
|
||||
mux->read_watch = g_io_add_watch_full(mux->channel, G_PRIORITY_DEFAULT,
|
||||
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
|
||||
received_data, mux, NULL);
|
||||
received_data, mux, read_watcher_destroy_notify);
|
||||
|
||||
mux->shutdown = FALSE;
|
||||
|
||||
|
|
Loading…
Reference in New Issue