[Spice-devel] [PATCH vdagent-linux 2/4] vdagentd: support configurable socket to vdagent
Hans de Goede
hdegoede at redhat.com
Mon Sep 2 08:06:42 PDT 2013
ACK.
On 09/02/2013 05:02 PM, Alon Levy wrote:
> Signed-off-by: Alon Levy <alevy at redhat.com>
> ---
> src/vdagentd.c | 33 +++++++++++++++++++--------------
> 1 file changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/src/vdagentd.c b/src/vdagentd.c
> index f4cea44..2288671 100644
> --- a/src/vdagentd.c
> +++ b/src/vdagentd.c
> @@ -55,6 +55,7 @@ struct agent_data {
> /* variables */
> static const char *pidfilename = "/var/run/spice-vdagentd/spice-vdagentd.pid";
> static const char *portdev = "/dev/virtio-ports/com.redhat.spice.0";
> +static const char *vdagentd_socket = VDAGENTD_SOCKET;
> static const char *uinput_device = "/dev/uinput";
> static int debug = 0;
> static struct udscs_server *server = NULL;
> @@ -721,18 +722,19 @@ static void usage(FILE *fp)
> "Usage: spice-vdagentd [OPTIONS]\n\n"
> "Spice guest agent daemon, version %s.\n\n"
> "Options:\n"
> - " -h print this text\n"
> - " -d log debug messages (use twice for extra info)\n"
> - " -s <port> set virtio serial port [%s]\n"
> - " -u <dev> set uinput device [%s]\n"
> - " -x don't daemonize\n"
> + " -h print this text\n"
> + " -d log debug messages (use twice for extra info)\n"
> + " -s <port> set virtio serial port [%s]\n"
> + " -S <filename> set udcs socket [%s]\n"
> + " -u <dev> set uinput device [%s]\n"
> + " -x don't daemonize\n"
> #ifdef HAVE_CONSOLE_KIT
> - " -X Disable console kit integration\n"
> + " -X Disable console kit integration\n"
> #endif
> #ifdef HAVE_LIBSYSTEMD_LOGIN
> " -X Disable systemd-logind integration\n"
> #endif
> - ,VERSION, portdev, uinput_device);
> + ,VERSION, portdev, vdagentd_socket, uinput_device);
> }
>
> void daemonize(void)
> @@ -834,7 +836,7 @@ int main(int argc, char *argv[])
> struct sigaction act;
>
> for (;;) {
> - if (-1 == (c = getopt(argc, argv, "-dhxXs:u:")))
> + if (-1 == (c = getopt(argc, argv, "-dhxXs:u:S:")))
> break;
> switch (c) {
> case 'd':
> @@ -843,6 +845,9 @@ int main(int argc, char *argv[])
> case 's':
> portdev = optarg;
> break;
> + case 'S':
> + vdagentd_socket = optarg;
> + break;
> case 'u':
> uinput_device = optarg;
> break;
> @@ -873,18 +878,18 @@ int main(int argc, char *argv[])
> openlog("spice-vdagentd", do_daemonize ? 0 : LOG_PERROR, LOG_USER);
>
> /* Setup communication with vdagent process(es) */
> - server = udscs_create_server(VDAGENTD_SOCKET, agent_connect,
> + server = udscs_create_server(vdagentd_socket, agent_connect,
> agent_read_complete, agent_disconnect,
> vdagentd_messages, VDAGENTD_NO_MESSAGES,
> debug);
> if (!server) {
> syslog(LOG_CRIT, "Fatal could not create server socket %s",
> - VDAGENTD_SOCKET);
> + vdagentd_socket);
> return 1;
> }
> - if (chmod(VDAGENTD_SOCKET, 0666)) {
> + if (chmod(vdagentd_socket, 0666)) {
> syslog(LOG_CRIT, "Fatal could not change permissions on %s: %m",
> - VDAGENTD_SOCKET);
> + vdagentd_socket);
> udscs_destroy_server(server);
> return 1;
> }
> @@ -916,8 +921,8 @@ int main(int argc, char *argv[])
> vdagent_virtio_port_destroy(&virtio_port);
> session_info_destroy(session_info);
> udscs_destroy_server(server);
> - if (unlink(VDAGENTD_SOCKET) != 0)
> - syslog(LOG_ERR, "unlink %s: %s", VDAGENTD_SOCKET, strerror(errno));
> + if (unlink(vdagentd_socket) != 0)
> + syslog(LOG_ERR, "unlink %s: %s", vdagentd_socket, strerror(errno));
> syslog(LOG_INFO, "vdagentd quiting, returning status %d", retval);
>
> if (do_daemonize)
>
More information about the Spice-devel
mailing list