我正在使用 C 套接字发送设置了 MSG_DONTWAIT 标志的 ICMP 数据包。我的程序是单线程的,但它希望以高频率发送消息,所以我将消息发送设置为非阻塞。每次调用后共享/修改/重用消息缓冲区是否安全?(除非返回 EAGAIN 或 EWOULDBLOCK)。
msg_control(辅助数据)被重用,并且在调用之间修改 msg_control->struct in_pktinfo->ipi_ifindex(出站接口 ifindex)。
iov.iov_base 缓冲区内容(不是指针!)和 iov.iov_len 也可以在调用之间更改。(不太可能但仍然可能)。
可以在非阻塞模式下高频更改 calsl 之间的 ifinex 和 iov_base 内容吗?(除非我回来 EAGAIN 或 EWOULDBLOCK)
谢谢 !