[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] communication hangs after single ACK
From: |
Kieran Mansley |
Subject: |
Re: [lwip-devel] communication hangs after single ACK |
Date: |
Fri, 20 Nov 2009 09:30:32 +0000 |
On Thu, 2009-11-19 at 17:30 +0100, Albert Bartel wrote:
> Because s is used later, s should be set to conn->socket after we get
> a valid conn->socket. (see comment)
> if (conn) {
>
> s = conn->socket;
>
> if (s < 0) {
>
> sys_sem_wait(socksem);
>
> if (conn->socket < 0) {
>
> if (evt == NETCONN_EVT_RCVPLUS) {
>
> conn->socket--;
>
> }
>
> sys_sem_signal(socksem);
>
> return;
>
> }
>
> // set s to conn->socket because now conn->socket is valid
>
> // and s (old conn->socket) is still invalid
>
> s = conn->socket;
>
>
>
> sys_sem_signal(socksem);
>
> }
I can see there is something not quite right here, but not sure the
suggested change will fix it. How can you be sure that conn->socket is
valid the second time you call it?
Kieran