From 4af71a917cdd86d78e783fda9fe1cb197cfee36b Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 16 Jan 2004 19:29:16 +0000 Subject: [PATCH] 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/ChangeLog | 7 +++++++ newlib/libc/stdio/findfp.c | 3 --- newlib/libc/stdio/vfprintf.c | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 4d84d5062..38a26e02f 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,10 @@ +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. + 2004-01-15 Thomas Pfaff * libc/stdio/fclose.c: Include sys/lock.h. 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); }