From 1a6c13c85d520a2bc2805d1f69e9b07277f87696 Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Wed, 4 Jan 2023 13:06:29 +0100 Subject: [PATCH] Grooming and fix reported message length. --- zig-impl/src/exchange-fd.zig | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/zig-impl/src/exchange-fd.zig b/zig-impl/src/exchange-fd.zig index 8f01a0a..d9cc53e 100644 --- a/zig-impl/src/exchange-fd.zig +++ b/zig-impl/src/exchange-fd.zig @@ -208,21 +208,20 @@ pub fn receive_fd(sockfd: os.socket_t, buffer: []u8, msg_size: *usize) !os.fd_t .name = undefined, .namelen = 0, .iov = &iov, - .iovlen = iov.len, + .iovlen = 1, .control = &cmsg, .controllen = @sizeOf(@TypeOf(cmsg)), .flags = 0, }; - _ = recvmsg(sockfd, msg, 0) catch |err| { - print("error sendmsg failed with {s}", .{@errorName(err)}); + var msglen = recvmsg(sockfd, msg, 0) catch |err| { + print("error recvmsg failed with {s}", .{@errorName(err)}); return 0; }; 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); - msg_size.* = iov[0].iov_len; + msg_size.* = msglen; + return received_fd; }