这次说的是socket的shutdown函数。主要原因是:我将socket的fd注册进epoll开始监听,但是发现当我主动关闭(close)时,无法从epoll中获得通知。所以这里,我们需要引入shutdown函数
/* Shut down all or part of the connection open on socket FD.
HOW determines what to shut down:
SHUT_RD = No more receptions;
SHUT_WR = No more transmissions;
SHUT_RDWR = No more receptions or transmissions.
Returns 0 on success, -1 for errors. */
extern int shutdown (int __fd, int __how) __THROW;
可以看到,这个函数主要作用就是关闭soket,根据第二个入参,还能单项关闭读,写。