Proposal to remove std stream and file chain info from reent struct
Thu Jun 17 08:37:00 GMT 2010
In light of the following post:
I am proposing to remove the std streams from the reentrancy structure
and have one global set. As well, the glue chain can also be removed
since we would always be using the one chain. I am proposing a new
global structure which would house the std streams and the glue chain.
The current std stream situation appears to be mostly historical. I'm
not sure anyone actually depends on there being std streams per thread.
POSIX thread and I/O behaviour certainly wasn't ever considered in the
There are obvious benefits to doing this. The reentrancy struct gets
smaller. The scenario problem, described in the newlib posted link
above, goes away. In addition, the code gets simplified as some
reentrant versions of functions are not needed.
I am proposing this here first in case any platform has a dependency on
the current behaviour or there are some gotchas I haven't thought of.
If there are no fundamental objections, I will make the changes and post
a patch here for review/comments.
-- Jeff J.
More information about the Newlib