On 2024/9/18 12:56, Stephen Hemminger wrote:
> The rte_exit() output format confuses the timestamp and coloring
> options. Change it to use be a single line with proper prefix.
> 
> Before:
> [     0.006481] EAL: Error - exiting with code: 1
>   Cause: [     0.006489] Cannot init EAL: Permission denied
> 
> After:
> [     0.006238] EAL: Error - exiting with code: 1
> [     0.006250] EAL: Cause - Cannot init EAL: Permission denied
> 
> Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
> Acked-by: Tyler Retzlaff <roret...@linux.microsoft.com>
> Acked-by: Morten Brørup <m...@smartsharesystems.com>
> ---
>  lib/eal/common/eal_common_debug.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/eal/common/eal_common_debug.c 
> b/lib/eal/common/eal_common_debug.c
> index 3e77995896..ad2be63cbb 100644
> --- a/lib/eal/common/eal_common_debug.c
> +++ b/lib/eal/common/eal_common_debug.c
> @@ -34,17 +34,18 @@ void
>  rte_exit(int exit_code, const char *format, ...)
>  {
>       va_list ap;
> +     char msg[256];

the length maybe too short.

>  
>       if (exit_code != 0)
> -             RTE_LOG(CRIT, EAL, "Error - exiting with code: %d\n"
> -                             "  Cause: ", exit_code);
> +             EAL_LOG(CRIT, "Error - exiting with code: %d", exit_code);
>  
>       va_start(ap, format);
> -     rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap);
> +     vsnprintf(msg, sizeof(msg), format, ap);

should handle the vsnprintf return negative value.

>       va_end(ap);
>  
> +     rte_log(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, "EAL: Cause - %s", msg);
> +
>       if (rte_eal_cleanup() != 0 && rte_errno != EALREADY)
> -             EAL_LOG(CRIT,
> -                     "EAL could not release all resources");
> +             EAL_LOG(CRIT, "EAL could not release all resources");
>       exit(exit_code);
>  }

Reply via email to