Commit 7395c486 authored by Kirill Tkhai's avatar Kirill Tkhai Committed by Pavel Emelyanov

files: Set fds event after sending fd to peer

This is need to make receiving a fle non-blocking.
We will sleep on task_st futex instead of this.

v5: Do not set event in send_fd_to_self()
Signed-off-by: 's avatarKirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 118f1b6c
......@@ -957,13 +957,16 @@ again:
int send_fd_to_peer(int fd, struct fdinfo_list_entry *fle)
{
struct sockaddr_un saddr;
int len, sock;
int len, sock, ret;
sock = get_service_fd(TRANSPORT_FD_OFF);
transport_name_gen(&saddr, &len, fle->pid);
pr_info("\t\tSend fd %d to %s\n", fd, saddr.sun_path + 1);
return send_fds(sock, &saddr, len, &fd, 1, (void *)&fle, sizeof(struct fdinfo_list_entry *));
ret = send_fds(sock, &saddr, len, &fd, 1, (void *)&fle, sizeof(struct fdinfo_list_entry *));
if (ret < 0)
return -1;
return set_fds_event(fle->pid);
}
static int send_fd_to_self(int fd, struct fdinfo_list_entry *fle)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment