[PATCH 2/3] hfp: add watch to trigger HUP of the file descriptor
Denis Kenzior
denkenz at gmail.com
Mon Feb 15 11:36:06 PST 2010
Hi Gustavo,
> ---
> plugins/hfp.c | 17 +++++++++++++++++
> 1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/plugins/hfp.c b/plugins/hfp.c
> index 411cfc1..3776dc6 100644
> --- a/plugins/hfp.c
> +++ b/plugins/hfp.c
> @@ -482,6 +482,20 @@ error:
> service_level_conn_failed(modem);
> }
>
> +static gboolean hfp_fd_disconnected_cb(GIOChannel *chan, GIOCondition
> cond, + struct ofono_modem *modem)
> +{
> + if (cond & G_IO_NVAL)
> + return FALSE;
> +
> + if (cond & (G_IO_ERR | G_IO_HUP)) {
> + ofono_modem_set_powered(modem, FALSE);
> + return FALSE;
> + }
> +
> + return TRUE;
> +}
> +
> /* either oFono or Phone could request SLC connection */
> static int service_level_connection(struct ofono_modem *modem, int fd)
> {
> @@ -498,6 +512,9 @@ static int service_level_connection(struct ofono_modem
> *modem, int fd) return -EIO;
> }
>
> + g_io_add_watch(io, G_IO_ERR | G_IO_HUP | G_IO_NVAL,
> + (GIOFunc) hfp_fd_disconnected_cb, modem);
> +
Use g_at_chat_set_disconnect_function
> syntax = g_at_syntax_new_gsmv1();
> chat = g_at_chat_new(io, syntax);
> g_at_syntax_unref(syntax);
>
Regards,
-Denis
More information about the ofono
mailing list