Обсуждение статьи тематического каталога: Реализация multithreaded сервера на C++ (threads linux mutex)Ссылка на текст статьи: http://www.opennet.me/base/dev/async_thread.txt.html
Конструктор Класса
CSocket(int fds, const CManager* pManager );void * CListener::Loop()
{.....
pSocket = new CSocket(new_fd, m_pManager);
.....}Вот не пойму, что можнет сделать объект класса CSocket, зная какой объект CManager им управляет? Чтобы было? :)
Разрегистрироватся в нем на удалении.
Разве Managet::Loop не занимается всем эти действиями?
Зачем CSocket::~CSocket() разрегистрироватся в CManeger? Когда такие ситуации могут быть :-/
На всякий пожарный случай. ;o)
Ок. Понял :)
мде... очень так себе. Зачем тут вообще 2 нити? Можно всё одной делать. да и спецально для линукса(как и для фри, соляры, etc.) есть весьма лучшие версии механизмов пулинга. Передавать в CSocket::WriteStream std::string по значению - вообще ахтунг. После этого дальше не стал копать. Вобщем низачот.