Hi everyone!
Please read this Robert (hope this is not too annoying for you :-).
When doing more than one listen with uC/IP we might loose a listen
socket!
Robert do you again have the time for making these changes to the CVS.
Best wishes to you all,
Mads Christiansen
Partner Voxtream
www.voxtream.com
Create these to variables in tcpInput.
struct TCPCB_s *prev, *next;
Find this section and add
/* Duplicate the TCB but must preserve the semaphores. */
connectSem = ntcb->connectSem;
readSem = ntcb->readSem;
writeSem = ntcb->writeSem;
mutex = ntcb->mutex;
prev = ntcb->prev; // BUGFIX, must preserve org. prev
and next pointers from the free list,
next = ntcb->next; // BUGFIX, else we might destroy our
hash lookup table when doing more than one tcpListen!
memcpy(ntcb, tcb, sizeof(TCPCB)); // Someone might want to look more
carefully at this memcpy. Are there other variables that must be
preserved ? /mogi
ntcb->prev = prev; // BUGFIX, mogi.dk
ntcb->next = next; // BUGFIX, 02.04.2002
ntcb->connectSem
|