commit 3d0a76b

Michael Forney  ·  2016-04-30 22:12:08 +0000 UTC
parent f9bcaf9
Unset launch socket environment var, and make the fd CLOEXEC
1 files changed,  +5, -2
+5, -2
 1@@ -27,6 +27,7 @@
 2 #include "launch/protocol.h"
 3 #include "util.h"
 4 
 5+#include <fcntl.h>
 6 #include <unistd.h>
 7 #include <wayland-server.h>
 8 
 9@@ -72,12 +73,14 @@ launch_initialize(void)
10 		return false;
11 
12 	launch.socket = strtol(socket_string, &end, 10);
13-
14 	if (*end != '\0')
15 		return false;
16 
17-	launch.source = wl_event_loop_add_fd(swc.event_loop, launch.socket, WL_EVENT_READABLE, &handle_data, NULL);
18+	unsetenv(SWC_LAUNCH_SOCKET_ENV);
19+	if (fcntl(launch.socket, F_SETFD, FD_CLOEXEC) < 0)
20+		return false;
21 
22+	launch.source = wl_event_loop_add_fd(swc.event_loop, launch.socket, WL_EVENT_READABLE, &handle_data, NULL);
23 	if (!launch.source)
24 		return false;
25