static int do_send_fd(struct run_as_worker *worker, enum run_as_cmd cmd, int fd) { ssize_t len; switch (cmd) { case RUN_AS_OPEN: break; default: return 0; } if (fd < 0) { return 0; } len = lttcomm_send_fds_unix_sock(worker->sockpair[1], &fd, 1); if (len < 0) { PERROR("lttcomm_send_fds_unix_sock"); return -1; } if (close(fd) < 0) { PERROR("close"); return -1; } return 0; }
static int do_send_fd(int sock, int fd) { ssize_t len; if (fd < 0) { ERR("Attempt to send invalid file descriptor to master (fd = %i)", fd); /* Return 0 as this is not a fatal error. */ return 0; } len = lttcomm_send_fds_unix_sock(sock, &fd, 1); if (len < 0) { PERROR("lttcomm_send_fds_unix_sock"); return -1; } return 0; }