muduo
muduo copied to clipboard
Event-driven network library for multi-threaded Linux server in C++11
今天发现产生了coredump,用gdb查看了一下,信息如下: (gdb) bt #0 0x0000003af34690e6 in setbuffer () from /lib64/libc.so.6 #1 0x00000000004f6110 in muduo::LogFile::rollFile() () at /home/suyl/project/muduo-1.0.9/muduo/base/LogFile.cc:101 #2 0x00000000004f541c in muduo::AsyncLogging::threadFunc() () at /home/suyl/project/muduo-1.0.9/muduo/base/AsyncLogging.cc:101 #3 0x00000000004faf6a in muduo::detail::startThread(void*) () at...
移植了一个ios,但在增加ipv6支持后出现一个问题: return ::connect(sockfd, addr, static_cast(sizeof(struct sockaddr_in6))); 回返回errno 22: Invalid argument errno 以上代码改成:return ::connect(sockfd, addr, static_cast(sizeof(*addr))); 后就正常了
Although I cannot find error examples at present. But I think which keep consistent in err_ and errno is a better way with considering it have no need of additional...
在服务端RpcChannel和TcpConnection绑定,当TcpConnection断开的时候,RpcChannel被销毁,在这之后触发Callback会访问非法内存。
hiredis 模块又一个小问题,redis启动,正常链接时候没什么问题,如果redis没有启动,会出现一直pollhup日志,这个问题我觉得主要在hiredis封装设置channel时没有设置closecallback导致,句柄一直没有删掉, 我尝试给hiredis模块增加一个handclose函数,如下 void Hiredis::handleClose() { ::redisAsyncHandleRead(_context); } setchannel时做下如下操作 _channel->setCloseCallback(std::bind(&Hiredis::handleClose, this)); 这样问解决了
## Linux distro and version? x86 or ARM? 32-bit or 64-bit? Linux version 3.10.0-1160.el7.x86_64 ## Branch (cpp98/cpp11/cpp17) and version of muduo? cpp11 v2.0.2 ## Version of cmake, gcc and boost?...
DELETE FROM HERE TO LINE 18 BEFORE OPEN AN ISSUE. GitHub issues are for tracking bugs, not for general discussing like a forum. If you have a general question to...
AsyncLoggin单条日志的大小受到muduo::detail::kLargeBuffer的限制,超过此大小的日志写不进去
消除`void TcpConnection::send(Buffer* buf)`中buf的**copy** `retrieveAllAsString`函数会生成一个临时的**string**,造成内存**copy**,使用`std::move`消除内存拷贝