From: Mads C. <MC...@vo...> - 2002-04-04 08:03:21
|
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 |