lwip连续发数据卡死_LWIP(freertos) write发送大数据量卡死问题
目前在做httpserver,发现发送小数据时没有问题,但当发送大数据量时,发现write函数,无法返回,一路跟踪下来发现卡死在u32_t sys_arch_sem_wait(sys_sem_t sem, u32_t timeout){portTickType StartTime, EndTime, Elapsed;StartTime = xTaskGetTickCount();if(timeo.
目前在做httpserver,发现发送小数据时没有问题,但当发送大数据量时,发现write函数,无法返回,一路跟踪下来发现卡死在
u32_t sys_arch_sem_wait(sys_sem_t sem, u32_t timeout)
{
portTickType StartTime, EndTime, Elapsed;
StartTime = xTaskGetTickCount();
if( timeout != 0)
{
if( xSemaphoreTake( sem, timeout / portTICK_RATE_MS ) == pdTRUE )
{
EndTime = xTaskGetTickCount();
Elapsed = (EndTime - StartTime) * portTICK_RATE_MS;
return (Elapsed); // return time blocked TODO test
}
else
{
return SYS_ARCH_TIMEOUT;
}
}
else // must block without a timeout
{
while( xSemaphoreTake( sem, portMAX_DELAY ) != pdTRUE ){}
EndTime = xTaskGetTickCount();
Elapsed = (EndTime - StartTime) * portTICK_RATE_MS;
return ( Elapsed ); // return time blocked
}
}
一直获取不了信号量,不知为何?
不知原子哥,碰到过没有,有无好的解决方案,谢谢!!!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)