diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2015-08-20 14:49:54 +0200 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2015-08-20 14:49:54 +0200 |
| commit | d138c7b4f237a8ec723a524335b45d19640db10d (patch) | |
| tree | f95563e8e1a3067b069e9db5418d21e81c83d701 | |
| parent | 1aaa0441237216ddee8fc279cdee320ebec8961a (diff) | |
set IPC client sockets to close on exec
| -rw-r--r-- | sway/ipc.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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; |
