- 博客(2)
- 收藏
- 关注
原创 LWIP协议栈之select
所以在使用select的时候,如果没有指定timeout的话,在执行do_select函数的时候,会主动poll所有监听的fd,如果在第一次poll的时候,没有任何事件发生,那么用户态进程会睡眠,在有新的事件到来的时候,一般在write函数中使用wake_up()来唤醒等待队列上所有的waiter,即执行waiter的唤醒函数(pollwake),睡眠的进程会被唤醒,然后接着执行for循环,接着主动调用poll函数,来查看是否有对应的事件产生。这是一种简化的协议栈。
2023-06-28 22:42:28
1608
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人