diff --git a/src/config/general.h b/src/config/general.h index 52d8323b..ee72d57c 100644 --- a/src/config/general.h +++ b/src/config/general.h @@ -101,7 +101,7 @@ #define DHCP_CMD /* DHCP management commands */ #define SANBOOT_CMD /* SAN boot commands */ #define LOGIN_CMD /* Login command */ -#undef TIME_CMD /* Time command */ +#undef TIME_CMD /* Time commands */ /* * Obscure configuration options diff --git a/src/hci/commands/time_cmd.c b/src/hci/commands/time_cmd.c index 9866ab9c..947410ec 100644 --- a/src/hci/commands/time_cmd.c +++ b/src/hci/commands/time_cmd.c @@ -14,12 +14,17 @@ * 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. + * + * March-19-2009 @ 02:44: Added sleep command. + * Shao Miller . */ #include +#include #include #include #include +#include #include static int time_exec ( int argc, char **argv ) { @@ -52,3 +57,28 @@ struct command time_command __command = { .exec = time_exec, }; +static int sleep_exec ( int argc, char **argv ) { + unsigned long start, delay; + + if ( argc == 1 || + !strcmp ( argv[1], "--help" ) || + !strcmp ( argv[1], "-h" )) + { + printf ( "Usage:\n" + " %s \n" + "\n" + "Sleep for seconds\n", + argv[0] ); + return 1; + } + start = currticks(); + delay = strtoul ( argv[1], NULL, 0 ) * ticks_per_sec(); + while ( ( currticks() - start ) <= delay ) + cpu_nap(); + return 0; +} + +struct command sleep_command __command = { + .name = "sleep", + .exec = sleep_exec, +};