如果套接字fd大于1024,则由chilkat lib中的syscall'select'引起的潜在崩溃

时间:2019-04-23 18:50:38

标签: chilkat

我们正在使用Linux x64上的chilkat库从Internet上获取一些Web资源。我们注意到chilkat库函数'select'监视从gdb到我的程序的套接字事件,该函数位于名为'select'的函数下面:

  

ChilkatSocket :: waitWriteableMsHB(未签名   int,bool,bool,SocketParams&,   LogBase&)()   ChilkatSocket :: waitReadableMsHB(未签名   int,SocketParams&,LogBase&)()

因此,当套接字fd大于FD_SETSIZE(在Linux上为1024)时,会导致FD_SET溢出,然后导致程序崩溃?有必要使用现代的系统调用“ poll”或“ epoll”吗?

谢谢

1 个答案:

答案 0 :(得分:0)

当fd集合小于FD_SETSIZE时,Chilkat可以使用select系统调用。如果fd设置为1024或更大,它将始终使用poll。不必担心FD_SET溢出,因为Chilkat会在所有重要情况下选择使用“轮询”。