[lwip-users] changes in api_msg regarding trypost/callback
From:
Fabian Koch
Subject:
[lwip-users] changes in api_msg regarding trypost/callback
Date:
Tue, 25 Aug 2009 18:06:39 +0200
Hey all,
I wrote a mail some time ago that I
have a different behavior in connections since switching from 1.3.0 to
1.3.1.
All my connections stay in CLOSE_WAIT
after the remote closes the connection. (I use the Netconn-API)
Today I had the time to debug this issue
and found the Changes Kieran made in api_msg.c with revision 1.112:
- The order of API_MSG and mbox_post
was changed.
Now this leads to the following behavior:
1) sys_mbox_trypost is called with msg=NULL
2) the implementation here (done by
a colleague) checks for null pointers and does not post them, returning
an error
3) the API_EVENT is not called, so my
application never knows that the remote closed the connection so I never
close it..
Now I have 3 questions:
1) Is the mbox implementation supposed
to accept NULL as a message?
2) Is the change only for correcting
the statistics?
3) Is my usage of the callback totally
wrong?
(I
implemented a callback function that checks for len=0 and interprets those
as special indications and judging by them and the tcp.state tells my application
to close/etc)