From 4af71a917cdd86d78e783fda9fe1cb197cfee36b Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 16 Jan 2004 19:29:16 +0000 Subject: 2004-01-16 Thomas Pfaff * libc/stdio/findfp.c (__sfp): Remove unnecessary memset. * libc/stdio/vfprintf.c (__sbprintf): Ditto. Add calls to __lock_init_recursive and __lock_close_recursive instead. --- newlib/libc/stdio/findfp.c | 3 --- newlib/libc/stdio/vfprintf.c | 6 +++++- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'newlib/libc') diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c index efbb62561..aff231ed4 100644 --- a/newlib/libc/stdio/findfp.c +++ b/newlib/libc/stdio/findfp.c @@ -114,9 +114,6 @@ found: fp->_ub._size = 0; fp->_lb._base = NULL; /* no line buffer */ fp->_lb._size = 0; -#ifndef __SINGLE_THREAD__ - memset (&fp->_lock, 0, sizeof(fp->_lock)); -#endif return fp; } diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index c13a7f70f..5fe443138 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -253,7 +253,7 @@ __sbprintf(fp, fmt, ap) fake._bf._size = fake._w = sizeof(buf); fake._lbfsize = 0; /* not actually used, but Just In Case */ #ifndef __SINGLE_THREAD__ - memset (&fake._lock, 0, sizeof(fake._lock)); + __lock_init_recursive (*(_LOCK_RECURSIVE_T *)&fake._lock); #endif /* do the work, then copy any error status */ @@ -262,6 +262,10 @@ __sbprintf(fp, fmt, ap) ret = EOF; if (fake._flags & __SERR) fp->_flags |= __SERR; + +#ifndef __SINGLE_THREAD__ + __lock_close_recursive (*(_LOCK_RECURSIVE_T *)&fake._lock); +#endif return (ret); } -- cgit v1.2.3