+ } else if (n_fds == 1) {
+ server_fd.fd = SD_LISTEN_FDS_START + 0;
+ fcntl(server_fd.fd, F_SETFD, fcntl(server_fd.fd, F_GETFD) | FD_CLOEXEC);
+ fcntl(server_fd.fd, F_SETFL, fcntl(server_fd.fd, F_GETFL) | O_NONBLOCK);
+
+ remove_socket = false;
+ } else
+#endif
+ {
+ unlink(ubus_socket);
+ umask(0111);
+ server_fd.fd = usock(USOCK_UNIX | USOCK_SERVER | USOCK_NONBLOCK, ubus_socket, NULL);
+ if (server_fd.fd < 0) {
+ perror("usock");
+ ret = -1;
+ goto out;
+ }