30dayMakeCppServer icon indicating copy to clipboard operation
30dayMakeCppServer copied to clipboard

探索过程中遇到的问题

Open yeinan opened this issue 2 years ago • 1 comments

yeinan avatar Nov 13 '22 07:11 yeinan

我想在每个子事件驱动线程中添加线程池,对epoll获取的fd事件进行处理。 下面是我遇到的一些问题,如果可以的话,希望有人能够解答或者可以提供一些可以阅读的源码文件,我这方面的能力有些欠缺。 1.在sub reactor中为线程池派发任务时,如果同一个fd有两个任务,并且其中的一个任务会使得connection调用删除函数,这将产生逻辑错误和内存错误。想要修改这一点就需要修改connection类的释放方式,或者使用其他技巧来维护connection的释放。

2.在sub reactor的任务线程中,是否可以简单地直接close(fd),线程中关闭了套接字,那么事件循环的epoll上套接字会被自动摘除吗?又或者会导致一些错误?

yeinan avatar Nov 13 '22 07:11 yeinan