mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
varlink: move O_NONBLOCK setting to varlink_server_listen_fd(), and set O_CLOEXEC too
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.
This commit is contained in:
@@ -2682,10 +2682,6 @@ static int varlink_server_create_listen_fd_socket(VarlinkServer *s, int fd, Varl
|
||||
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();
|
||||
@@ -2716,6 +2712,14 @@ int varlink_server_listen_fd(VarlinkServer *s, int fd) {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user