return -1;
}
+#ifndef WIN32
+
+/**
+ * virSystemdGetListenFDs:
+ *
+ * Parse LISTEN_PID and LISTEN_FDS passed from caller.
+ *
+ * Returns number of passed FDs.
+ */
+static unsigned int
+virSystemdGetListenFDs(void)
+{
+ const char *pidstr;
+ const char *fdstr;
+ size_t i = 0;
+ unsigned long long procid;
+ unsigned int nfds;
+
+ VIR_DEBUG("Setting up networking from caller");
+
+ if (!(pidstr = virGetEnvAllowSUID("LISTEN_PID"))) {
+ VIR_DEBUG("No LISTEN_PID from caller");
+ return 0;
+ }
+
+ if (virStrToLong_ull(pidstr, NULL, 10, &procid) < 0) {
+ VIR_DEBUG("Malformed LISTEN_PID from caller %s", pidstr);
+ return 0;
+ }
+
+ if ((pid_t)procid != getpid()) {
+ VIR_DEBUG("LISTEN_PID %s is not for us %lld",
+ pidstr, (long long) getpid());
+ return 0;
+ }
+
+ if (!(fdstr = virGetEnvAllowSUID("LISTEN_FDS"))) {
+ VIR_DEBUG("No LISTEN_FDS from caller");
+ return 0;
+ }
+
+ if (virStrToLong_ui(fdstr, NULL, 10, &nfds) < 0) {
+ VIR_DEBUG("Malformed LISTEN_FDS from caller %s", fdstr);
+ return 0;
+ }
+
+ unsetenv("LISTEN_PID");
+ unsetenv("LISTEN_FDS");
+
+ VIR_DEBUG("Got %u file descriptors", nfds);
+
+ for (i = 0; i < nfds; i++) {
+ int fd = STDERR_FILENO + i + 1;
+
+ VIR_DEBUG("Disabling inheritance of passed FD %d", fd);
+
+ if (virSetInherit(fd, false) < 0)
+ VIR_WARN("Couldn't disable inheritance of passed FD %d", fd);
+ }
+
+ return nfds;
+}
+
+#else /* WIN32 */
+
+static unsigned int
+virSystemdGetListenFDs(void)
+{
+ return 0;
+}
+
+#endif /* WIN32 */
static virSystemdActivationPtr
virSystemdActivationNew(virSystemdActivationMap *map,
{
int nfds = 0;
- if ((nfds = virGetListenFDs()) < 0)
+ if ((nfds = virSystemdGetListenFDs()) < 0)
return -1;
if (nfds == 0) {
}
}
-#ifndef WIN32
-
-/**
- * virGetListenFDs:
- *
- * Parse LISTEN_PID and LISTEN_FDS passed from caller.
- *
- * Returns number of passed FDs.
- */
-unsigned int
-virGetListenFDs(void)
-{
- const char *pidstr;
- const char *fdstr;
- size_t i = 0;
- unsigned long long procid;
- unsigned int nfds;
-
- VIR_DEBUG("Setting up networking from caller");
-
- if (!(pidstr = virGetEnvAllowSUID("LISTEN_PID"))) {
- VIR_DEBUG("No LISTEN_PID from caller");
- return 0;
- }
-
- if (virStrToLong_ull(pidstr, NULL, 10, &procid) < 0) {
- VIR_DEBUG("Malformed LISTEN_PID from caller %s", pidstr);
- return 0;
- }
-
- if ((pid_t)procid != getpid()) {
- VIR_DEBUG("LISTEN_PID %s is not for us %lld",
- pidstr, (long long) getpid());
- return 0;
- }
-
- if (!(fdstr = virGetEnvAllowSUID("LISTEN_FDS"))) {
- VIR_DEBUG("No LISTEN_FDS from caller");
- return 0;
- }
-
- if (virStrToLong_ui(fdstr, NULL, 10, &nfds) < 0) {
- VIR_DEBUG("Malformed LISTEN_FDS from caller %s", fdstr);
- return 0;
- }
-
- unsetenv("LISTEN_PID");
- unsetenv("LISTEN_FDS");
-
- VIR_DEBUG("Got %u file descriptors", nfds);
-
- for (i = 0; i < nfds; i++) {
- int fd = STDERR_FILENO + i + 1;
-
- VIR_DEBUG("Disabling inheritance of passed FD %d", fd);
-
- if (virSetInherit(fd, false) < 0)
- VIR_WARN("Couldn't disable inheritance of passed FD %d", fd);
- }
-
- return nfds;
-}
-
-#else /* WIN32 */
-
-unsigned int
-virGetListenFDs(void)
-{
- return 0;
-}
-
-#endif /* WIN32 */
#ifdef HAVE_SYS_UN_H
char *virGetUNIXSocketPath(int fd)