This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 08/08/18 15:19, Freddie Chopin wrote:
On Fri, 2017-06-30 at 10:58 +0200, Sebastian Huber wrote:----- Am 30. Jun 2017 um 10:13 schrieb Corinna Vinschen vinschen@redhat.com:On Jun 30 07:43, Sebastian Huber wrote:On 29/06/17 20:31, Corinna Vinschen wrote:And, JFYI, Cygwin will start to use it too after the next release:)There are some new problems with this change. We have no reference counting in the FILE objects, so a freopen(..., stdin), closes the global stdin FILE object (__sf[0]), etc. What works is a stdin = fopen(). I guess this could break existing applications.Erm... isn't that expected behaviour? stdin/stdout/stderr are global objects, after all. They were never thread-local per POSIX.The stdin/stdout/stderr pointers are still thread-local with this option. Only the FILE objects itself are now global. If you do a stdin = fopen() you get a completely thread-local stdin. I have absolutely no idea why this stuff is thread-local in Newlib by default.Would that be possible, to make stdin/stdout/stderr completely global (remove them from _reent, use global objects) when _REENT_GLOBAL_STDIO_STREAMS is enabled?
The thread-local IO streams are a Newlib feature that is used by our applications.
-- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.huber@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |