I can’t find any reference other than one line in the manual that says that TCP calls should all be from the one task.
I have an issue where I get a RST38 when returning from a function that is trying to connect via PPP to an ISP over GPRS.
I thought I could put tcp_tick() in a seperate task and have it being called all the time so that the TCP stuff would keep running but this doesn’t seem to work and I am seeing corrupted variables.
Do you have to put all the TCP/IP stuff in it’s own task and make sure none of the other task call TCP/IP functions?
Did you ever get this sorted out? I am having similar issues with the RST38 and the OS just stopping for now reason. I have moved all tcp related code into one task but now my http server won’t function.
Which processor and compiler version are you using?
In most of the example programs for the BACnet stack I have one task just calling tcp_tick() and one other task that does all the UDP comms for the stack and this works very well. I’ve had test devices running for over a year at a time without issue.