Split FreeRTOS_TCP_server socket work functions in indipendently tasks

Hi all I’m using the FreeRTOSTCPserver to manage three different sockets (CLI, FTP and user) and all work fine. Now I have see that all work functions are called in a while loop (in FreeRTOS_TCPServerWork) so if a socket work function run slowly or is blocked, all my TCP server is affected. I would like to manage the work function of any socket in a separated task so any socket can run indipendently. Is it possible to do this? If yes, what I need to modify? Can I use a semaphore to trigger the work task? Regards

Split FreeRTOS_TCP_server socket work functions in indipendently tasks

The TCP server module, with FTP and HTTP, is more like a demo project. It shows how you can handle many sockets without creating many tasks, by using FreeRTOS_select(). In a real application, I can imagine that it can be worth to use more tasks with different priorities.
if a socket work function run slowly or is blocked, all my TCP server is affected.
It is not OK to have a working function block: all sockets should be used in a non-blocking way. If you can not write to a socket, activate the eSELECT_WRITE bit for that socket, and the work function will be called again as soon as data can be sent.

Split FreeRTOS_TCP_server socket work functions in indipendently tasks

Thank you Initially I will use the TCP server module to manage the FTP server only and I will write different tasks for the other servers. Then I will try to modify the FTP server too.