From b8d2aa264de4ebff472698347588f36ed6d4a3e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Feb 2013 22:48:13 +0100 Subject: daemon: Add `--listen'. * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro. (options): Add `--listen'. (parse_opt): Handle it. * doc/guix.texi (Invoking guix-daemon): Mention it. --- nix/nix-daemon/guix-daemon.cc | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'nix/nix-daemon') diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 604a26f0b1..1611840bd4 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2012 Ludovic Courtès + Copyright (C) 2012, 2013 Ludovic Courtès This file is part of GNU Guix. @@ -64,6 +64,7 @@ builds derivations on behalf of its clients."; #define GUIX_OPT_IMPERSONATE_LINUX_26 8 #define GUIX_OPT_DEBUG 9 #define GUIX_OPT_CHROOT_DIR 10 +#define GUIX_OPT_LISTEN 11 static const struct argp_option options[] = { @@ -103,6 +104,8 @@ static const struct argp_option options[] = " (this option has no effect in this configuration)" #endif }, + { "listen", GUIX_OPT_LISTEN, "SOCKET", 0, + "Listen for connections on SOCKET" }, { "debug", GUIX_OPT_DEBUG, 0, 0, "Produce debugging output" }, { 0, 0, 0, 0, 0 } @@ -138,6 +141,17 @@ parse_opt (int key, char *arg, struct argp_state *state) case GUIX_OPT_LOSE_LOGS: settings.keepLog = false; break; + case GUIX_OPT_LISTEN: + try + { + settings.nixDaemonSocketFile = canonPath (arg); + } + catch (std::exception &e) + { + fprintf (stderr, "error: %s\n", e.what ()); + exit (EXIT_FAILURE); + } + break; case GUIX_OPT_DEBUG: verbosity = lvlDebug; break; @@ -207,6 +221,9 @@ main (int argc, char *argv[]) } #endif + printMsg (lvlDebug, + format ("listening on `%1%'") % settings.nixDaemonSocketFile); + run (nothing); } catch (std::exception &e) -- cgit v1.2.3