[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [UNIKRAFT/APPHELLOWORLD PATCH 2/6] Use nanosleep



Hi Simon,

This patch looks good.

Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>

On Mon, Sep 14, 2020 at 3:48 PM Simon Kuenzer <simon.kuenzer@xxxxxxxxx> wrote:
>
> Introduces `millisleep()` in order to enable shorter sleep times than in
> seconds.
>
> Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
> ---
>  main.c | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/main.c b/main.c
> index a0d6a73..4d4210e 100644
> --- a/main.c
> +++ b/main.c
> @@ -1,11 +1,13 @@
>  #include <stdio.h>
> -#include <unistd.h>
>  #include <uk/essentials.h>
>
>  /* Import user configuration: */
>  #include <uk/config.h>
>
>  #if CONFIG_APPHELLOWORLD_SPINNER
> +#include <time.h>
> +#include <errno.h>
> +
>  static const char *spinner[] = {
>         ">))'>        ",
>         " >))'>       ",
> @@ -20,6 +22,18 @@ static const char *spinner[] = {
>         " <'((<       ",
>         "<'((<        ",
>  };
> +
> +static void millisleep(unsigned int millisec)
> +{
> +       struct timespec ts;
> +       int ret;
> +
> +       ts.tv_sec = millisec / 1000;
> +       ts.tv_nsec = (millisec % 1000) * 1000000;
> +       do
> +               ret = nanosleep(&ts, &ts);
> +       while (ret && errno == EINTR);
> +}
>  #endif /* CONFIG_APPHELLOWORLD_SPINNER */
>
>  int main(int argc, char *argv[])
> @@ -43,7 +57,7 @@ int main(int argc, char *argv[])
>         while (1) {
>                 i %= ARRAY_SIZE(spinner);
>                 printf("\r%s", spinner[i++]);
> -               sleep(1);
> +               millisleep(1000);
>         }
>  #endif /* CONFIG_APPHELLOWORLD_SPINNER */
>  }
> --
> 2.20.1
>
>



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.