[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails
From: |
MATSUDA, Daiki |
Subject: |
[Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails |
Date: |
Fri, 06 Jan 2012 07:16:23 +0900 |
User-agent: |
Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0 |
Hi, all.
I am trying QEMU Guest Agent and encountered a small bug. It is that the
PIDFILE remains when daemon start fails. And maybe forgotton to g_free().
MATSUDA, Daiki
diff -uNrp qemu/qemu-ga.c
qemu-c47f3223658119219bbe0b8d09da733d1c06e76f/qemu-ga.c
--- qemu/qemu-ga.c 2012-01-05 01:06:25.000000000 +0900
+++ qemu-c47f3223658119219bbe0b8d09da733d1c06e76f/qemu-ga.c 2012-01-06
07:07:03.807872085 +0900
@@ -49,6 +49,13 @@ struct GAState {
};
static struct GAState *ga_state;
+const char *pidfile = QGA_PIDFILE_DEFAULT;
+
+static void cleanup(void)
+{
+ g_free(ga_state);
+ unlink(pidfile);
+}
static void quit_handler(int sig)
{
@@ -70,6 +77,7 @@ static void register_signal_handlers(voi
ret = sigaction(SIGINT, &sigact, NULL);
if (ret == -1) {
g_error("error configuring signal handler: %s", strerror(errno));
+ cleanup();
exit(EXIT_FAILURE);
}
ret = sigaction(SIGTERM, &sigact, NULL);
@@ -485,6 +493,7 @@ static void init_guest_agent(GAState *s)
if (s->path == NULL) {
if (strcmp(s->method, "virtio-serial") != 0) {
g_critical("must specify a path for this channel");
+ cleanup();
exit(EXIT_FAILURE);
}
/* try the default path for the virtio-serial port */
@@ -496,17 +505,20 @@ static void init_guest_agent(GAState *s)
fd = qemu_open(s->path, O_RDWR | O_NONBLOCK | O_ASYNC);
if (fd == -1) {
g_critical("error opening channel: %s", strerror(errno));
+ cleanup();
exit(EXIT_FAILURE);
}
ret = conn_channel_add(s, fd);
if (ret) {
g_critical("error adding channel to main loop");
+ cleanup();
exit(EXIT_FAILURE);
}
- [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails,
MATSUDA, Daiki <=
- [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, MATSUDA, Daiki, 2012/01/05
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Michael Roth, 2012/01/05
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Daniel P. Berrange, 2012/01/06
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Michael Roth, 2012/01/06
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Daniel P. Berrange, 2012/01/06
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Luiz Capitulino, 2012/01/06
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Michael Roth, 2012/01/06
- Re: [Qemu-devel] [PATCH] GuestAgent: PIDFILE remains when daemon start fails, Luiz Capitulino, 2012/01/06