From 9c3b406b4d68225fcb6e2fadb41ed0a4358083b0 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 19 May 1998 11:34:04 +0000 Subject: Addition of tcdrain() from Eric Norum. --- c/src/lib/libc/newlibc.c | 12 ++++++++++++ c/src/lib/libc/tcattr.c | 6 ++++++ 2 files changed, 18 insertions(+) (limited to 'c/src/lib/libc') diff --git a/c/src/lib/libc/newlibc.c b/c/src/lib/libc/newlibc.c index 8fb1916d7e..089c7e7541 100644 --- a/c/src/lib/libc/newlibc.c +++ b/c/src/lib/libc/newlibc.c @@ -64,6 +64,8 @@ struct _reent libc_global_reent = _REENT_INIT(libc_global_reent); extern void _wrapup_reent(struct _reent *); extern void _reclaim_reent(struct _reent *); +#include + void libc_wrapup(void) { @@ -86,6 +88,16 @@ libc_wrapup(void) #endif _REENT = &libc_global_reent; } + + /* + * Try to drain output buffers. + * + * Should this be changed to do *all* file streams? + * _fwalk (_REENT, fclose); + */ + fclose (stdin); + fclose (stdout); + fclose (stderr); } diff --git a/c/src/lib/libc/tcattr.c b/c/src/lib/libc/tcattr.c index aaa5ff6e6e..86c2569a94 100644 --- a/c/src/lib/libc/tcattr.c +++ b/c/src/lib/libc/tcattr.c @@ -37,4 +37,10 @@ tcsetattr(int fd, int opt, struct termios *tp) return __rtems_ioctl(fd,RTEMS_IO_SET_ATTRIBUTES,tp); } +int +tcdrain(int fd) +{ + return __rtems_ioctl(fd,RTEMS_IO_TCDRAIN,0); +} + #endif -- cgit v1.2.3