Grooming and fix reported message length.
parent
ce28b72f3b
commit
1a6c13c85d
|
@ -208,21 +208,20 @@ pub fn receive_fd(sockfd: os.socket_t, buffer: []u8, msg_size: *usize) !os.fd_t
|
||||||
.name = undefined,
|
.name = undefined,
|
||||||
.namelen = 0,
|
.namelen = 0,
|
||||||
.iov = &iov,
|
.iov = &iov,
|
||||||
.iovlen = iov.len,
|
.iovlen = 1,
|
||||||
.control = &cmsg,
|
.control = &cmsg,
|
||||||
.controllen = @sizeOf(@TypeOf(cmsg)),
|
.controllen = @sizeOf(@TypeOf(cmsg)),
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
_ = recvmsg(sockfd, msg, 0) catch |err| {
|
var msglen = recvmsg(sockfd, msg, 0) catch |err| {
|
||||||
print("error sendmsg failed with {s}", .{@errorName(err)});
|
print("error recvmsg failed with {s}", .{@errorName(err)});
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
var received_fd = @as(i32, cmsg.dataPtr().*);
|
var received_fd = @as(i32, cmsg.dataPtr().*);
|
||||||
// print("received {} bytes, fd is {}\n", .{len, received_fd});
|
|
||||||
// print("payload (iov base) {s}\n", .{iov[0].iov_base[0..iov[0].iov_len - 1]});
|
|
||||||
std.mem.copy(u8, buffer, &msg_buffer);
|
std.mem.copy(u8, buffer, &msg_buffer);
|
||||||
msg_size.* = iov[0].iov_len;
|
msg_size.* = msglen;
|
||||||
|
|
||||||
return received_fd;
|
return received_fd;
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue