From 2ef06eacc2be08b0268c98a4d157176aff9356e0 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 4 Jun 2009 14:58:14 +0100 Subject: [PATCH] Added 'sleep' command. --- daemon/Makefile.am | 1 + daemon/sleep.c | 35 +++++++++++++++++++++++++++++++++++ src/generator.ml | 7 +++++++ 3 files changed, 43 insertions(+) create mode 100644 daemon/sleep.c diff --git a/daemon/Makefile.am b/daemon/Makefile.am index e0da08c..a8ddd67 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -45,6 +45,7 @@ guestfsd_SOURCES = \ pingdaemon.c \ proto.c \ sfdisk.c \ + sleep.c \ stat.c \ strings.c \ stubs.c \ diff --git a/daemon/sleep.c b/daemon/sleep.c new file mode 100644 index 0000000..2cf3ff7 --- /dev/null +++ b/daemon/sleep.c @@ -0,0 +1,35 @@ +/* libguestfs - the guestfsd daemon + * Copyright (C) 2009 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include + +#include +#include +#include + +#include "../src/guestfs_protocol.h" +#include "daemon.h" +#include "actions.h" + +int +do_sleep (int secs) +{ + /* According to the man page, this syscall never fails. */ + (void) sleep (secs); + return 0; +} diff --git a/src/generator.ml b/src/generator.ml index bb3744e..ffee564 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -2311,6 +2311,13 @@ even if the filesystem appears to be clean (C<-f>). This command is only needed because of C (q.v.). Normally you should use C."); + ("sleep", (RErr, [Int "secs"]), 109, [], + [InitNone, Always, TestRun ( + [["sleep"; "1"]])], + "sleep for some seconds", + "\ +Sleep for C seconds."); + ] let all_functions = non_daemon_functions @ daemon_functions -- 1.8.3.1