diff options
Diffstat (limited to 'newlib/libc/stdio/fwalk.c')
-rw-r--r-- | newlib/libc/stdio/fwalk.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/newlib/libc/stdio/fwalk.c b/newlib/libc/stdio/fwalk.c index bb43cf2f3..376959dcd 100644 --- a/newlib/libc/stdio/fwalk.c +++ b/newlib/libc/stdio/fwalk.c @@ -82,12 +82,9 @@ _DEFUN(_fwalk, (ptr, function), __sfp_lock_acquire (); - /* Must traverse given list for std streams. */ - if (ptr != _GLOBAL_REENT) - ret |= __fwalk (ptr, function); - - /* Must traverse global list for all other streams. */ - ret |= __fwalk (_GLOBAL_REENT, function); + /* Must traverse given list for streams. Note that _GLOBAL_REENT + only walked once in exit(). */ + ret |= __fwalk (ptr, function); __sfp_lock_release (); @@ -105,12 +102,9 @@ _DEFUN(_fwalk_reent, (ptr, reent_function), __sfp_lock_acquire (); - /* Must traverse given list for std streams. */ - if (ptr != _GLOBAL_REENT) - ret |= __fwalk_reent (ptr, reent_function); - - /* Must traverse global list for all other streams. */ - ret |= __fwalk_reent (_GLOBAL_REENT, reent_function); + /* Must traverse given list for streams. Note that _GLOBAL_REENT + only walked once in exit(). */ + ret |= __fwalk_reent (ptr, reent_function); __sfp_lock_release (); |