Tag: tcpip_thread
All the articles with the tag "tcpip_thread".
-
lwIP에서 tcpip_thread 안에서 다시 기다리면 멈춘다: callback 안의 netconn/sockets 호출이 self-deadlock이 되는 이유
lwIP에서 tcpip_callback, netif callback, 내부 이벤트 훅 안에서 netconn 또는 sockets API를 다시 호출하면 부하가 낮을 때는 지나가도 어느 순간 전체 네트워크가 멈출 수 있다. 같은 tcpip_thread가 자기 자신에게 일을 보내고 완료를 기다리는 self-deadlock 패턴이라, 호출 컨텍스트를 분리해 두는 편이 안전하다.
-
lwIP에서 ISR에서 바로 보내면 가끔 터진다: tcpip_thread로 넘기는 패턴 정리
이더넷 IRQ에서 패킷 받자마자 lwIP API를 호출하면, 어떤 보드에서는 잘 돌아가고 어떤 보드에서는 랜덤하게 죽는다. 원인은 대부분 컨텍스트/락 문제다. ISR에서 할 일과 tcpip_thread로 넘길 일을 분리하는 패턴을 짧게 정리한다.