[PATCH 3/3] sysinit: Do not open console when just referencing reentrancy structure.

Gedare Bloom gedare at rtems.org
Fri May 28 02:28:52 UTC 2021


The patch set looks ok, fixing the ticket number on 2/3.

On Fri, May 21, 2021 at 3:36 PM Joel Sherrill <joel at rtems.org> wrote:
>
> This change eliminates a system initialization dependentcy which resulted
> in an application without a file system or console referencing errno being
> forced to include the code to open(/dev/console), close(), atexit(),
> and the unmount infrastructure.
>
> Closes #4439.
> ---
>  cpukit/include/rtems/confdefs/iodrivers.h | 21 +++++++++++++++++++++
>  cpukit/libcsupport/src/libio_init.c       |  6 ------
>  2 files changed, 21 insertions(+), 6 deletions(-)
>
> diff --git a/cpukit/include/rtems/confdefs/iodrivers.h b/cpukit/include/rtems/confdefs/iodrivers.h
> index e12640624d..a7de77a8c3 100644
> --- a/cpukit/include/rtems/confdefs/iodrivers.h
> +++ b/cpukit/include/rtems/confdefs/iodrivers.h
> @@ -189,6 +189,27 @@ RTEMS_SYSINIT_ITEM(
>    || CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
>    || CONFIGURE_MAXIMUM_DRIVERS */
>
> +
> +/*
> + * If any flavor of console driver is configured, then configure the post
> + * driver hook which opens /dev/console as stdin, stdout, and stderr.
> + *
> + * NOTE: This also results in an atexit() handler being registered to close
> + *       /dev/console.
> + */
> +#if defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) || \
> +    defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER) || \
> +    defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER)
> +
> +  #include <rtems/libio.h>
> +
> +  RTEMS_SYSINIT_ITEM(
> +    rtems_libio_post_driver,
> +    RTEMS_SYSINIT_STD_FILE_DESCRIPTORS,
> +    RTEMS_SYSINIT_ORDER_MIDDLE
> +  );
> +#endif
> +
>  #endif /* CONFIGURE_INIT */
>
>  #endif /* _RTEMS_CONFDEFS_IODRIVERS_H */
> diff --git a/cpukit/libcsupport/src/libio_init.c b/cpukit/libcsupport/src/libio_init.c
> index d5814ca5a2..2bfc7664d7 100644
> --- a/cpukit/libcsupport/src/libio_init.c
> +++ b/cpukit/libcsupport/src/libio_init.c
> @@ -65,9 +65,3 @@ RTEMS_SYSINIT_ITEM(
>    RTEMS_SYSINIT_LIBIO,
>    RTEMS_SYSINIT_ORDER_MIDDLE
>  );
> -
> -RTEMS_SYSINIT_ITEM(
> -  rtems_libio_post_driver,
> -  RTEMS_SYSINIT_STD_FILE_DESCRIPTORS,
> -  RTEMS_SYSINIT_ORDER_MIDDLE
> -);
> --
> 2.24.4
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list