]> git.sur5r.net Git - i3/i3/blobdiff - libi3/ipc_connect.c
Update copyright notices and get rid of ranges
[i3/i3] / libi3 / ipc_connect.c
index 44ff7056e4cb9b0766d9e76a71a8fd280fc072ac..f493b4f11e6a6d118951afc058b9632c6621cd5b 100644 (file)
@@ -2,7 +2,7 @@
  * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
- * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
+ * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
  *
  */
 #include <sys/types.h>
@@ -11,6 +11,8 @@
 #include <string.h>
 #include <err.h>
 #include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
 
 #include "libi3.h"
 
@@ -24,11 +26,13 @@ int ipc_connect(const char *socket_path) {
     if (sockfd == -1)
         err(EXIT_FAILURE, "Could not create socket");
 
+    (void)fcntl(sockfd, F_SETFD, FD_CLOEXEC);
+
     struct sockaddr_un addr;
     memset(&addr, 0, sizeof(struct sockaddr_un));
     addr.sun_family = AF_LOCAL;
     strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1);
-    if (connect(sockfd, (const struct sockaddr*)&addr, sizeof(struct sockaddr_un)) < 0)
+    if (connect(sockfd, (const struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0)
         err(EXIT_FAILURE, "Could not connect to i3");
 
     return sockfd;