OK, another thing I assumed is that you were using NO_SYS=1, and forgot to tell. I know nothing on RTOS ports, so I will assume you are calling the right function and respecting the single-thread restrictions, as your other apps work.
My tcp closure is: state = myCLOSING; if(tcp_close(pcb) == ERR_OK){ tcp_recv(pcb, NULL); state = myCLOSED; } tcp_close() may fail due to a number of reasons, mostly involving low memory situations (and I'm too lazy to dig more into the source), so if it fails you'll have to retry later, maybe in the poll callback: if(state == myCLOSING){ // Retry closing the connection myclose(pcb); } Are you checking tcp_close()'s return value ? That should give a hint. If somehow it fails and you don't retry later, it won't close. (Should've started there... didn't I ?) _______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users