[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] utils: implement settrans --pid-file
From: |
Samuel Thibault |
Subject: |
Re: [PATCH 3/3] utils: implement settrans --pid-file |
Date: |
Sat, 9 Nov 2013 18:30:29 +0100 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Justus Winter, le Thu 07 Nov 2013 19:12:30 +0100, a écrit :
> This switch makes settrans write the pid file of the active translator
> it starts to a file. This makes the pid easily retrievable for test
> suites.
Ack.
> * utils/settrans.c (options): Add --pid-file.
> (main): Add variable pid_file.
> (parse_opt): Handle --pid-file switch.
> (open_node): Write pid file.
> ---
> utils/settrans.c | 22 +++++++++++++++++++++-
> 1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/utils/settrans.c b/utils/settrans.c
> index a881401..d13e7c4 100644
> --- a/utils/settrans.c
> +++ b/utils/settrans.c
> @@ -1,6 +1,6 @@
> /* Set a file's translator.
>
> - Copyright (C) 1995,96,97,98,2001,02 Free Software Foundation, Inc.
> + Copyright (C) 1995,96,97,98,2001,02,13 Free Software Foundation, Inc.
> Written by Miles Bader <miles@gnu.org>
>
> This program is free software; you can redistribute it and/or
> @@ -49,6 +49,8 @@ static struct argp_option options[] =
> {"passive", 'p', 0, 0, "Change NODE's passive translator record
> (default)" },
> {"create", 'c', 0, 0, "Create NODE if it doesn't exist" },
> {"dereference", 'L', 0, 0, "If a translator exists, put the new one on
> top"},
> + {"pid-file", 'F', "FILENAME", 0, "When starting an active translator,"
> + " write its pid to this file"},
> {"pause", 'P', 0, 0, "When starting an active translator, prompt and"
> " wait for a newline on stdin before completing the startup handshake"},
> {"timeout", 't',"SEC",0, "Timeout for translator startup, in seconds"
> @@ -104,6 +106,7 @@ main(int argc, char *argv[])
> /* Various option flags. */
> int passive = 0, active = 0, keep_active = 0, pause = 0, kill_active = 0,
> orphan = 0;
> + char *pid_file = NULL;
> int excl = 0;
> int timeout = DEFAULT_TIMEOUT * 1000; /* ms */
> char **chroot_command = 0;
> @@ -136,6 +139,12 @@ main(int argc, char *argv[])
> case 'g': kill_active = 1; break;
> case 'x': excl = 1; break;
> case 'P': pause = 1; break;
> + case 'F':
> + pid_file = strdup (arg);
> + if (pid_file == NULL)
> + error(3, ENOMEM, "Failed to duplicate argument");
> + break;
> +
> case 'o': orphan = 1; break;
>
> case 'C':
> @@ -221,6 +230,17 @@ main(int argc, char *argv[])
> getchar ();
> }
>
> + if (pid_file != NULL)
> + {
> + FILE *h;
> + h = fopen (pid_file, "w");
> + if (h == NULL)
> + error (4, errno, "Failed to open pid file");
> +
> + fprintf (h, "%i\n", task2pid (task));
> + fclose (h);
> + }
> +
> node = file_name_lookup (node_name, flags | lookup_flags, 0666);
> if (node == MACH_PORT_NULL)
> {
> --
> 1.7.10.4
>
>
--
Samuel
<b> il faut combien de chevaux pour tirer une doloréan à 88 morph ?
***b vient de remarque que 88 mph c'est 142 km/h
<y> aaaaah
<y> c'est pour ça qu'ils limitent à 130 km/h sur les autoroutes
<y> c'est pour éviter que les gens voyagent dans le temps
<b> probablement