mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
Don't leak file descriptors
We're leaking file descriptors to child processes. Set FD_CLOEXEC on file descriptors that don't need to be passed to children to stop this misbehaviour. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
12c09b8ce2
commit
40ff6d7e8d
20 changed files with 178 additions and 34 deletions
|
@ -105,7 +105,7 @@ MigrationState *tcp_start_outgoing_migration(Monitor *mon,
|
|||
s->state = MIG_STATE_ACTIVE;
|
||||
s->mon = NULL;
|
||||
s->bandwidth_limit = bandwidth_limit;
|
||||
s->fd = socket(PF_INET, SOCK_STREAM, 0);
|
||||
s->fd = qemu_socket(PF_INET, SOCK_STREAM, 0);
|
||||
if (s->fd == -1) {
|
||||
qemu_free(s);
|
||||
return NULL;
|
||||
|
@ -146,7 +146,7 @@ static void tcp_accept_incoming_migration(void *opaque)
|
|||
int c, ret;
|
||||
|
||||
do {
|
||||
c = accept(s, (struct sockaddr *)&addr, &addrlen);
|
||||
c = qemu_accept(s, (struct sockaddr *)&addr, &addrlen);
|
||||
} while (c == -1 && socket_error() == EINTR);
|
||||
|
||||
dprintf("accepted migration\n");
|
||||
|
@ -193,7 +193,7 @@ int tcp_start_incoming_migration(const char *host_port)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
s = socket(PF_INET, SOCK_STREAM, 0);
|
||||
s = qemu_socket(PF_INET, SOCK_STREAM, 0);
|
||||
if (s == -1)
|
||||
return -socket_error();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue