对应socket.cpp 1068-1082代码: // Someone added new requests. // Reverse the list until old_head. WriteRequest* tail = NULL; WriteRequest* p = new_head; do { while (p->next == WriteRequest::UNCONNECTED) { // TODO(gejun): elaborate this sched_yield(); } WriteRequest* const saved_next = p->next; p->next = tail; tail = p; p = saved_next; CHECK(p != NULL); } while (p != old_head); 二进制程序依赖了mrpc,执行压测时候报错:received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xf9fd3efdeb80 (LWP 76473)] brpc::Socket::IsWriteComplete (this=0xf9fd00025450, this@entry=0x0, old_head=, singular_node=, new_tail=new_tail@entry=0xf9fd3cc2bf68) at brpc/socket.cpp:1073 1073 brpc/socket.cpp: No such file or directory. (gdb) bt full #0 brpc::Socket::IsWriteComplete (this=0xf9fd00025450, this@entry=0x0, old_head=, singular_node=, new_tail=new_tail@entry=0xf9fd3cc2bf68) at brpc/socket.cpp:1073 saved_next = new_head = 0x0 desired = return_when_no_more = tail = 0x0 p = 0x0 #1 0x00000000009c6200 in brpc::Socket::KeepWrite (void_arg=) at brpc/socket.cpp:1673
Activity