|Date:||Wed, 1 Dec 2004 00:17:45 +0000|
Hi,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.
- 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.
|[Prev in Thread]||Current Thread||[Next in Thread]|