Brian Inglis wrote:
WG14/C is looking at:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2402.pdf
which seems somewhat based on the POSIX standard.
Thanks for the heads-up. I see that this WG14/C draft is calling localtime_r "reentrant", but it's not: in POSIX, localtime_r relies on global state to obtain the time zone, and behavior is undefined if one thread calls localtime_r while another thread is changing the time zone. Similarly for some of the other "reentrant" functions mentioned in that draft. If WG14 wants reentrant, it should standardize localtime_rz etc. a la tzcode and NetBSD. These functions avoid the races inherent to localtime_r etc. I'll cc. this to Jens Gustedt to give the draft's author a heads-up. Even if WG14 decides to stick with POSIXish rather than reentrant functions, the rationale document should explain why.