set IPC client sockets to close on exec

This commit is contained in:
minus 2015-08-20 14:49:54 +02:00
parent 91c0877264
commit 70f046c87a
1 changed files with 7 additions and 0 deletions

View File

@ -10,6 +10,7 @@
#include <stdlib.h>
#include <stropts.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include "ipc.h"
#include "log.h"
#include "config.h"
@ -78,6 +79,12 @@ int ipc_handle_connection(int fd, uint32_t mask, void *data) {
return 0;
}
int flags;
if ((flags=fcntl(client_fd, F_GETFD)) == -1 || fcntl(client_fd, F_SETFD, flags|FD_CLOEXEC) == -1) {
sway_log_errno(L_INFO, "Unable to set CLOEXEC on IPC client socket");
return 0;
}
struct ipc_client* client = malloc(sizeof(struct ipc_client));
client->payload_length = 0;
client->fd = client_fd;