关于linux网络链路状态通知的疑惑
向各路大神求助:最近在看《linux网络技术内幕》,有个地方没太看懂,就是关于链接侦测(第八章)那一段,说lw_event这个结构放到列表的时候,这个lw_eventlist队列中只会有一个lw_event实例,发现队列中如果有,就不放入了,直接结束,代码中也确实是这么写的,但是我觉得很不合理啊,因为如果一个网卡现在是carry_on状态,断了变为carry_off,然后产生了一个lw_event事件,在这个事件还没有处理的时候,链接状态又变回了carry_on,这个时候又会产生一个lw_event事件,这个事件看到队列中有一个lw_event就直接退出了,这样不是就会造成状态错误么?实际上链接已经恢复了,这个时候难道不是应该把原来lw_eventlist还未处理的lw_event处理掉么?不处理的话还是会执行通知链,去发出链接状态已经变化的消息,在网上搜到的大部分就是这本书的翻译和照抄,没有什么实质性解释,希望能得到回复,多谢 回复 1# Mrvim
这个lw_eventlist队列中只会有一个lw_event实例,发现队列中如果有,就不放入了,直接结束,代码中也确实是这么写的
哪个版本,具体代码是哪里?
页:
[1]