前面分析了connect,借此分析仪下win32_select与linux select的区别
首先是add_event 里面win32判断了句柄数量是否超过FD_SETSIZE。超过的话直接取消此次操作。
再看看关键的ngx_select_process_events
最大的差别还是select的第一个参数max_fd,因为win32的socket是一个句柄而非整数,因此这里只能传递0值,而linux则需要对这个值进行一些检查和修改。
后面对读写状态的检查这些则大同小异。
前面分析了connect,借此分析仪下win32_select与linux select的区别
首先是add_event 里面win32判断了句柄数量是否超过FD_SETSIZE。超过的话直接取消此次操作。
再看看关键的ngx_select_process_events
最大的差别还是select的第一个参数max_fd,因为win32的socket是一个句柄而非整数,因此这里只能传递0值,而linux则需要对这个值进行一些检查和修改。
后面对读写状态的检查这些则大同小异。