From f64c6b4c492bd4f4efe32ec69e9f4c69bf45be88 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 25 Jan 2016 21:23:53 +0100 Subject: Use atexit() handler to close std file descriptors --- cpukit/libcsupport/include/rtems/libio.h | 2 -- cpukit/libcsupport/src/newlibc_exit.c | 3 --- cpukit/libcsupport/src/open_dev_console.c | 3 +++ cpukit/sapi/include/confdefs.h | 7 ------- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index 28b4627c3e..824fa2833d 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -1487,8 +1487,6 @@ extern const rtems_libio_helper rtems_libio_init_helper; extern const rtems_libio_helper rtems_libio_post_driver_helper; -extern const rtems_libio_helper rtems_libio_exit_helper; - void rtems_libio_helper_null(void); void rtems_libio_post_driver(void); diff --git a/cpukit/libcsupport/src/newlibc_exit.c b/cpukit/libcsupport/src/newlibc_exit.c index c093bb2a67..53f97b0731 100644 --- a/cpukit/libcsupport/src/newlibc_exit.c +++ b/cpukit/libcsupport/src/newlibc_exit.c @@ -14,8 +14,6 @@ #include #if defined(RTEMS_NEWLIB) -#include - #include #include @@ -41,7 +39,6 @@ void _exit(int status) FINI_SYMBOL(); #endif - (*rtems_libio_exit_helper)(); rtems_shutdown_executive(status); /* does not return */ } diff --git a/cpukit/libcsupport/src/open_dev_console.c b/cpukit/libcsupport/src/open_dev_console.c index 6617a785dd..2e111ccf3a 100644 --- a/cpukit/libcsupport/src/open_dev_console.c +++ b/cpukit/libcsupport/src/open_dev_console.c @@ -16,6 +16,7 @@ #include #include #include +#include /* * This is a replaceable stub which opens the console, if present. @@ -45,5 +46,7 @@ void rtems_libio_post_driver(void) if ((stderr_fd = open("/dev/console", O_WRONLY, 0)) == -1) rtems_fatal_error_occurred( 0x55544432 ); /* error STD2 */ + + atexit(rtems_libio_exit); } diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 2c108ba78c..67616741b6 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -129,13 +129,6 @@ const rtems_libio_helper rtems_libio_post_driver_helper = rtems_libio_post_driver; #endif -const rtems_libio_helper rtems_libio_exit_helper = - #ifdef CONFIGURE_APPLICATION_DISABLE_FILESYSTEM - rtems_libio_helper_null; - #else - rtems_libio_exit; - #endif - #ifndef CONFIGURE_APPLICATION_DISABLE_FILESYSTEM RTEMS_SYSINIT_ITEM( rtems_filesystem_initialize, -- cgit v1.2.3