čt 15. 1. 2026 v 18:29 odesílatel Wander Lairson Costa
<[email protected]> napsal:
> diff --git a/tools/tracing/rtla/src/trace.c b/tools/tracing/rtla/src/trace.c
> index fed3362527b08..8e93b48d33ef8 100644
> --- a/tools/tracing/rtla/src/trace.c
> +++ b/tools/tracing/rtla/src/trace.c
> @@ -73,6 +73,7 @@ int save_trace_to_file(struct tracefs_instance *inst, const 
> char *filename)
>         char buffer[4096];
>         int out_fd, in_fd;
>         int retval = -1;
> +       ssize_t n_read;
>
>         if (!inst || !filename)
>                 return 0;
> @@ -90,15 +91,30 @@ int save_trace_to_file(struct tracefs_instance *inst, 
> const char *filename)
>                 goto out_close_in;
>         }
>
> -       do {
> -               retval = read(in_fd, buffer, sizeof(buffer));
> -               if (retval <= 0)
> +       for (;;) {
> +               n_read = read(in_fd, buffer, sizeof(buffer));
> +               if (n_read < 0) {
> +                       if (errno == EINTR)
> +                               continue;
> +                       err_msg("Error reading trace file: %s\n", 
> strerror(errno));
>                         goto out_close;
> +               }
> +               if (n_read == 0)
> +                       break;
>
> -               retval = write(out_fd, buffer, retval);
> -               if (retval < 0)
> -                       goto out_close;
> -       } while (retval > 0);
> +               ssize_t n_written = 0;

Why break the style of declaring all variables at the beginning of the
function? n_read, added in the same commit, keeps the style.

This also applies to the previous patch.

Tomas


Reply via email to