At the time when
pnode->vProcessMsg.splice(pnode->vProcessMsg.end(), pnode->vRecvMsg, pnode->vRecvMsg.begin(), it);
is called, it is certainly pnode->vRecvMsg.end() which makes the call equivalent to:
pnode->vProcessMsg.splice(pnode->vProcessMsg.end(), pnode->vRecvMsg, pnode->vRecvMsg.begin(), pnode->vRecvMsg.end());
which is equivalent to:
pnode->vProcessMsg.splice(pnode->vProcessMsg.end(), pnode->vRecvMsg);
Thus, use the latter. Further, maybe irrelevant, but the latter has constant complexity while the original code is O(length of vRecvMsg).