version 1.5, 2019/05/10 04:39:08 |
version 1.6, 2019/06/28 13:35:03 |
|
|
*(int *)CMSG_DATA(cmsg) = fd; |
*(int *)CMSG_DATA(cmsg) = fd; |
} |
} |
n = sendmsg(f->fd, &msg, 0); |
n = sendmsg(f->fd, &msg, 0); |
if (n < 0) { |
if (n == -1) { |
if (log_level >= 1) { |
if (log_level >= 1) { |
fdpass_log(f); |
fdpass_log(f); |
log_puts(": sendmsg failed\n"); |
log_puts(": sendmsg failed\n"); |
|
|
msg.msg_iov = &iov; |
msg.msg_iov = &iov; |
msg.msg_iovlen = 1; |
msg.msg_iovlen = 1; |
n = recvmsg(f->fd, &msg, MSG_WAITALL); |
n = recvmsg(f->fd, &msg, MSG_WAITALL); |
if (n < 0 && errno == EMSGSIZE) { |
if (n == -1 && errno == EMSGSIZE) { |
if (log_level >= 1) { |
if (log_level >= 1) { |
fdpass_log(f); |
fdpass_log(f); |
log_puts(": out of fds\n"); |
log_puts(": out of fds\n"); |
|
|
*/ |
*/ |
n = recvmsg(f->fd, &msg, MSG_WAITALL); |
n = recvmsg(f->fd, &msg, MSG_WAITALL); |
} |
} |
if (n < 0) { |
if (n == -1) { |
if (log_level >= 1) { |
if (log_level >= 1) { |
fdpass_log(f); |
fdpass_log(f); |
log_puts(": recvmsg failed\n"); |
log_puts(": recvmsg failed\n"); |