Commit
b56b37c broke Ipc::TypedMsgHdr copying by incorrectly assuming
that sync() sets name and ios members. The sync() method sets _other_
(low level) members based on name and ios.
{
if (this != &tmh) { // skip assignment to self
memcpy(static_cast<msghdr*>(this), static_cast<const msghdr*>(&tmh), sizeof(msghdr));
- // struct name is handled in sync()
- // struct ios[] is handled in sync()
+ name = tmh.name;
+ memcpy(&ios, &tmh.ios, sizeof(ios));
data = tmh.data;
ctrl = tmh.ctrl;
offset = tmh.offset;