[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Mon, 6 Dec 2004 22:59:18 +0100 (CET)
On Wed, 1 Dec 2004, Christopher Kemp wrote:
> Can anyone explain the code for "__sm_block_timeout" in
> gsm-statemachine.c? I think it's changed from my original and it looks a
> bit silly to me:
> * __sm_block_timeout has an inner loops which "waits" for the state to
> change _from_ GN_SM_MessageSent. The only way this can happen is with a
> call to sm_wait_for, which should have been called before sm_block. So
> this inner loop seems pretty redundant to me.
Well, I think if is for the retransmission handling. You can track the
changes -- they were made in 1.40 version of the file (2003-02-11). It was
fixing the bug described in
with the problems described in more detail in
I can't tell you at the moment from reading the code, why exactly it is
correct, but I think Bozo will :-)
> - if for some reason it doesn't change from GN_SM_MessageSent, it retries
> sending the last message (after a timeout) - but resending the message is
> never going to make the status change from GN_SM_MessageSent, so seems
> very pointless.
> Perhaps I'm missing something with some multithreaded code but it all
> looks a bit broken to me.
- Re: sm_block_timeout,
Pawel Kot <=