Вот мне интересно разобраться с потоками в связке freertos и lwip 1.4.0. Одни говорят что этот стек не стабилет на несколько потоков вторые утверждают что все работает.
На сколько я понимаю, потоки - это freertos таски которые используют функционал lwip стека. То есть, если с нескольких тасков вызвать функции lwip то случится что-то страшное? Еще читал что в настройках самого стека есть дефайн, который включает мютексы и как бы эти проблемы решаются, но пока такого не нашел.
Я провожу следующий эксперемент:
Использую HTTP сервер. На нем крутится один сайт с java. То есть, браузер несколько раз в секунду аякс запросами запрашивает данные с сервера.
Использую HTTP клиент, который тоже несколько раз в секунду в считывает данные с одного девайса.
Вот у меня тут получается два потока.
Некоторое время система работает стабильно(не более пяти минут). Потом начинает глючить HTTP сервер: странички грузятся очень долго, или сервер постоянно отдает одну и туже часть странички(смотрел ваершарком). При всем этом HTTP клиент продолжает резво отсылать свои запросы.
Может просто надо сделать так, чтобы пока работает HTTP сервер, HTTP клиент ждал и не устанавливал никаких подключений. Но как это сделать? На ум прихрдят только критические секции и приостановка шедуллера. Может для этого есть возможности в самом lwip?