Let's move setting of O_NONBLOCK into varlink_server_listen_fd() and out
of varlink_server_create_listen_fd_socket(). The latter has two callers:
varlink_server_listen_fd() and varlink_server_listen_address(), which
guarantees O_CLOEXEC+O_NONBLOCK anyway, hence no neet to repeat the
logic.
assert(fd >= 0);
assert(ret_ss);
- r = fd_nonblock(fd, true);
- if (r < 0)
- return r;
-
ss = new(VarlinkServerSocket, 1);
if (!ss)
return log_oom_debug();
assert_return(s, -EINVAL);
assert_return(fd >= 0, -EBADF);
+ r = fd_nonblock(fd, true);
+ if (r < 0)
+ return r;
+
+ r = fd_cloexec(fd, true);
+ if (r < 0)
+ return r;
+
r = varlink_server_create_listen_fd_socket(s, fd, &ss);
if (r < 0)
return r;