mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-26 18:41:17 +00:00
remove duplicate *SetCloseExec and *SetNonBlock functions
* src/qemu_driver.c: Use virSetCloseExec and virSetNonBlock, rather than qemuSet* functions. Suggested by Daniel P. Berrange. * src/util.c (virSetCloseExec): Publicize. * src/util.h (virSetCloseExec): Declare * src/libvirt_private.syms: Add virSetCloseExec.
This commit is contained in:
parent
22c9bf6d8b
commit
b0d49913d5
@ -1,3 +1,12 @@
|
|||||||
|
Thu Feb 5 17:03:35 +0100 2009 Jim Meyering <meyering@redhat.com>
|
||||||
|
|
||||||
|
remove duplicate *SetCloseExec and *SetNonBlock functions
|
||||||
|
* src/qemu_driver.c: Use virSetCloseExec and virSetNonBlock,
|
||||||
|
rather than qemuSet* functions. Suggested by Daniel P. Berrange.
|
||||||
|
* src/util.c (virSetCloseExec): Publicize.
|
||||||
|
* src/util.h (virSetCloseExec): Declare
|
||||||
|
* src/libvirt_private.syms: Add virSetCloseExec.
|
||||||
|
|
||||||
Thu Feb 5 17:03:35 +0100 2009 Jim Meyering <meyering@redhat.com>
|
Thu Feb 5 17:03:35 +0100 2009 Jim Meyering <meyering@redhat.com>
|
||||||
|
|
||||||
qemu_driver.c: use virReportSystemError in place of some qemudLog uses
|
qemu_driver.c: use virReportSystemError in place of some qemudLog uses
|
||||||
|
@ -292,6 +292,7 @@ virEnumToString;
|
|||||||
virEventAddHandle;
|
virEventAddHandle;
|
||||||
virEventRemoveHandle;
|
virEventRemoveHandle;
|
||||||
virExec;
|
virExec;
|
||||||
|
virSetCloseExec;
|
||||||
virSetNonBlock;
|
virSetNonBlock;
|
||||||
virFormatMacAddr;
|
virFormatMacAddr;
|
||||||
virGetHostname;
|
virGetHostname;
|
||||||
|
@ -91,37 +91,6 @@ static void qemuDriverUnlock(struct qemud_driver *driver)
|
|||||||
virMutexUnlock(&driver->lock);
|
virMutexUnlock(&driver->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int qemudSetCloseExec(int fd) {
|
|
||||||
int flags;
|
|
||||||
if ((flags = fcntl(fd, F_GETFD)) < 0)
|
|
||||||
goto error;
|
|
||||||
flags |= FD_CLOEXEC;
|
|
||||||
if ((fcntl(fd, F_SETFD, flags)) < 0)
|
|
||||||
goto error;
|
|
||||||
return 0;
|
|
||||||
error:
|
|
||||||
qemudLog(QEMUD_ERR,
|
|
||||||
"%s", _("Failed to set close-on-exec file descriptor flag\n"));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int qemudSetNonBlock(int fd) {
|
|
||||||
int flags;
|
|
||||||
if ((flags = fcntl(fd, F_GETFL)) < 0)
|
|
||||||
goto error;
|
|
||||||
flags |= O_NONBLOCK;
|
|
||||||
if ((fcntl(fd, F_SETFL, flags)) < 0)
|
|
||||||
goto error;
|
|
||||||
return 0;
|
|
||||||
error:
|
|
||||||
qemudLog(QEMUD_ERR,
|
|
||||||
"%s", _("Failed to set non-blocking file descriptor flag\n"));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void qemuDomainEventFlush(int timer, void *opaque);
|
static void qemuDomainEventFlush(int timer, void *opaque);
|
||||||
static void qemuDomainEventQueue(struct qemud_driver *driver,
|
static void qemuDomainEventQueue(struct qemud_driver *driver,
|
||||||
virDomainEventPtr event);
|
virDomainEventPtr event);
|
||||||
@ -180,7 +149,7 @@ qemudLogFD(virConnectPtr conn, const char* logDir, const char* name)
|
|||||||
logfile);
|
logfile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (qemudSetCloseExec(fd) < 0) {
|
if (virSetCloseExec(fd) < 0) {
|
||||||
virReportSystemError(conn, errno, "%s",
|
virReportSystemError(conn, errno, "%s",
|
||||||
_("Unable to set VM logfile close-on-exec flag"));
|
_("Unable to set VM logfile close-on-exec flag"));
|
||||||
close(fd);
|
close(fd);
|
||||||
@ -212,7 +181,7 @@ qemudLogReadFD(virConnectPtr conn, const char* logDir, const char* name, off_t p
|
|||||||
logfile);
|
logfile);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (qemudSetCloseExec(fd) < 0) {
|
if (virSetCloseExec(fd) < 0) {
|
||||||
virReportSystemError(conn, errno, "%s",
|
virReportSystemError(conn, errno, "%s",
|
||||||
_("Unable to set VM logfile close-on-exec flag"));
|
_("Unable to set VM logfile close-on-exec flag"));
|
||||||
close(fd);
|
close(fd);
|
||||||
@ -721,12 +690,12 @@ static int qemudOpenMonitor(virConnectPtr conn,
|
|||||||
_("Unable to open monitor path %s"), monitor);
|
_("Unable to open monitor path %s"), monitor);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (qemudSetCloseExec(monfd) < 0) {
|
if (virSetCloseExec(monfd) < 0) {
|
||||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
"%s", _("Unable to set monitor close-on-exec flag"));
|
"%s", _("Unable to set monitor close-on-exec flag"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (qemudSetNonBlock(monfd) < 0) {
|
if (virSetNonBlock(monfd) < 0) {
|
||||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
"%s", _("Unable to put monitor into non-blocking mode"));
|
"%s", _("Unable to put monitor into non-blocking mode"));
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* utils.c: common, generic utility functions
|
* utils.c: common, generic utility functions
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006, 2007, 2008 Red Hat, Inc.
|
* Copyright (C) 2006, 2007, 2008, 2009 Red Hat, Inc.
|
||||||
* Copyright (C) 2006 Daniel P. Berrange
|
* Copyright (C) 2006 Daniel P. Berrange
|
||||||
* Copyright (C) 2006, 2007 Binary Karma
|
* Copyright (C) 2006, 2007 Binary Karma
|
||||||
* Copyright (C) 2006 Shuveb Hussain
|
* Copyright (C) 2006 Shuveb Hussain
|
||||||
@ -185,7 +185,7 @@ int virSetNonBlock(int fd) {
|
|||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
|
|
||||||
static int virSetCloseExec(int fd) {
|
int virSetCloseExec(int fd) {
|
||||||
int flags;
|
int flags;
|
||||||
if ((flags = fcntl(fd, F_GETFD)) < 0)
|
if ((flags = fcntl(fd, F_GETFD)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -39,6 +39,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int virSetNonBlock(int fd);
|
int virSetNonBlock(int fd);
|
||||||
|
int virSetCloseExec(int fd);
|
||||||
|
|
||||||
int virExec(virConnectPtr conn,
|
int virExec(virConnectPtr conn,
|
||||||
const char *const*argv,
|
const char *const*argv,
|
||||||
|
Loading…
Reference in New Issue
Block a user