Making getenv more multi-threading--robust?
KOSAKI Motohiro
kosaki.motohiro@gmail.com
Thu Sep 13 21:06:00 GMT 2012
> POSIX does not require getenv vs setenv to be thread-safe, but Solaris
> documents it as being thread-safe.
We have one another glibc specific issue. glibc malloc uses getenv()
internally but
it is pure implementation internal. Many developers don't think malloc
vs setenv is
unsafe. Moreover it's undocumented unfortunately.
> So I think it's a reasonable change.
> File a bug in bugzilla about it first.
Or reopen 5069 or 4887?
They seems to discuss very similar or the same issue.
> Put the definition of the lock in getenv.c, so that when linking
> statically, using getenv does not force setenv to be linked in.
>
> getenv.c is already not intended to be built outside libc, so there is no
> need for #ifdef _LIBC in there. setenv.c is shared with gnulib (though
> they are out of synch), so maintaining its existing conditionalization is
> appropriate.
More information about the Libc-alpha
mailing list