如果sctp代码不能立即获得锁,或者它只在套接字缓冲区满时阻塞,那么read会返回吗?
并发读取sctp套接字是线程安全的。SCTP栈可能使用一些同步原语(例如互斥锁)来实现它。我的问题是(sctp)套接字是否处于非阻塞模式。
如果套接字处于非阻塞模式,它应该阻塞直到获得互斥锁,然后执行当前缓冲区状态指示recvmsg()
应该执行的任何操作,然后返回。由于这些都没有阻塞,因此互斥锁阻塞一段时间并不重要。这与使用TCP或UDP的情况没有什么不同。非阻塞合约是不阻塞等待数据