hijxyz 发表了评论
@iamyhw 其实并发在RTOS上是常见情况,socket原本的设计就是做线程安全。如果不是做线程安全的话,wiznet软件包里的wiz_lock就没必要加上了,还有recv_lock也没必要加上了
hijxyz 发表了评论
@iamyhw 如果创建失败了,就在这地方做了清零操作,已经将sock内的所有元素清零0 ,这种清零操作不是对内存释放吧,而且将之前创建的对象的指针都清零了。你说的free_socket这个释放接口,
hijxyz 发表了评论
@iamyhw 在这个阶段并发执行了就会导致多个线程执行了rt_mutex_create,就会多个线程创建了多个mutex出来了
hijxyz 发表了评论
1.alloc_socket接口有调用了 rt_sem_create和rt_mutex_create这两个接口,这两个接口创建的对象没有释放的。2.在 if(wiz_slock == RT_NULL)
hijxyz 发表了评论
alloc_socket 分配的socket有通过create 的方式创建出来了的,如果出错了得要释放的吧。
hijxyz 发表了评论
W5500堵塞接收,关闭socket错误