[PATCH 3/5] timeout: factor out wait-for-key-press loop into separate file

Sascha Hauer s.hauer at pengutronix.de
Mon Apr 20 04:13:02 PDT 2015


On Mon, Apr 20, 2015 at 10:43:37AM +0200, Marc Kleine-Budde wrote:
> This patch factors out the wait-for-key-press loop from the shell command
> "timeout" into a sparate file, so that it can be used from C, too.
> 
> Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
> ---
>  commands/Kconfig         |  1 +
>  commands/timeout.c       | 62 ++++++++++-----------------------------------
>  common/Kconfig           |  3 +++
>  common/Makefile          |  1 +
>  common/simple_timeout.c  | 66 ++++++++++++++++++++++++++++++++++++++++++++++++
>  include/simple_timeout.h | 11 ++++++++
>  6 files changed, 95 insertions(+), 49 deletions(-)
>  create mode 100644 common/simple_timeout.c
>  create mode 100644 include/simple_timeout.h
> 
> diff --git a/commands/Kconfig b/commands/Kconfig
> index 847ff76d1d8b..1c9083381fac 100644
> --- a/commands/Kconfig
> +++ b/commands/Kconfig
> @@ -1487,6 +1487,7 @@ config CMD_READLINE
>  config CMD_TIMEOUT
>  	tristate
>  	prompt "timeout"
> +	select SIMPLE_TIMEOUT

Since the linker throws away unused functions anyway I think we don't
need an option for this.

> +#include <clock.h>
> +#include <command.h>
> +#include <errno.h>
> +#include <simple_timeout.h>
> +#include <stdio.h>
> +
> +int is_simple_timeout(int timeout_s, unsigned flags, char *out_key)

I don't like the name very much since we already have a is_timeout
function which does something completely different. Also is_xxx_timeout
seems to imply that this function doesn't wait but only returns a
status.

How about console_countdown() or similar?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list