From: Guillaume Zajac <guillaume.zajac@linux.intel.com>
To: ofono@ofono.org
Subject: Re: [PATCH] test-server:Add test of PPP disconnect reason
Date: Thu, 17 Feb 2011 17:37:18 +0100 [thread overview]
Message-ID: <4D5D4EBE.30102@linux.intel.com> (raw)
In-Reply-To: <4D5D4975.1050306@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1990 bytes --]
Hi Denis,
On 17/02/2011 17:14, Denis Kenzior wrote:
> Hi Guillaume,
>
> On 02/17/2011 07:48 AM, Guillaume Zajac wrote:
>> ---
>> gatchat/test-server.c | 6 ++++++
>> 1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/gatchat/test-server.c b/gatchat/test-server.c
>> index e574d64..c0a5a4d 100644
>> --- a/gatchat/test-server.c
>> +++ b/gatchat/test-server.c
>> @@ -137,6 +137,12 @@ static void ppp_disconnect(GAtPPPDisconnectReason reason, gpointer user)
>> g_at_ppp_unref(ppp);
>> ppp = NULL;
>>
>> + if (reason == G_AT_PPP_REASON_NET_FAIL) {
> Don't you mean G_AT_PPP_REASON_LINK_DEAD?
>
In case of test-server, I didn't reproduce the crash with/without the
fix, I applied it to test server first as we don't have dial_cb for
emulator yet:
I did ./gsmdial -i localhost -p 12346
At the end of the exchange:
ppp_lcp_down_notify() is called
disconnect reason is G_AT_PPP_REASON_PEER_CLOSED
then the GAtServer is well resumed.
In case of emulator (based on Gustavo/ZhenZhua dial_cb),
ppp_lcp_down_notify() is called but just after this one,
ppp_ipcp_up_notify() fails and sets disconnect reason to
G_AT_PPP_REASON_NET_FAIL.
Then we get a crash after ppp_disconnect because we call the hdlc write
handler e.g. can_write_data() into gathldc.c although we have unref the
PPP server.
So I called ofono_emulator_remove() that will call the unref GAtServer
etc... when we get G_AT_PPP_REASON_NET_FAIL into ppp_disconnect
I don't get G_AT_PPP_REASON_LINK_DEAD disconnect reason when emulator
crashes.
So should we call ofono_emulator_remove()/GAtServer_unref() in both
disconnect reason cases?
Or is there a specific action to do when G_AT_PPP_REASON_NET_FAIL?
>> + g_at_server_unref(server);
>> + server = NULL;
>> + return;
>> + }
>> +
>> g_at_server_resume(server);
>> g_at_server_set_debug(server, server_debug, "Server");
>>
> Regards,
> -Denis
>
Kind regards,
Guillaume
next prev parent reply other threads:[~2011-02-17 16:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-17 13:48 [PATCH] test-server:Add test of PPP disconnect reason Guillaume Zajac
2011-02-17 16:14 ` Denis Kenzior
2011-02-17 16:37 ` Guillaume Zajac [this message]
2011-02-17 16:50 ` Denis Kenzior
2011-02-17 17:21 ` Guillaume Zajac
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D5D4EBE.30102@linux.intel.com \
--to=guillaume.zajac@linux.intel.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox