Mail Archives: cygwin/2009/11/21/07:13:30
On Nov 20 14:04, mike marchywka wrote:
> On 11/20/09, Christopher Faylor wrote:
> > On Fri, Nov 20, 2009 at 01:19:57PM -0500, mike marchywka wrote:
> >>On 11/20/09, Corinna Vinschen wrote:
> >>> And given POSIX, if so, it would be an application bug if the application
> >>> doesn't care by itself to use setenv/getenv in a thread-safe manner.
> >>
> >>Why does the OS let this happen? I thought windoze should avoid
> >>garbage.
> >
> > Er, I think you're a little confused about what we're talking about. The
> > OS doesn't enforce thread safety. There's really no way that it can.
>
> We are talking about windoze env variables right? I did ask previously
> I thought.
We're only talking about Windows env variables if non-Cygwin processes
are involved. As long as only Cygwin processes are involved in the
process, env variables are inherited via a Cygwin mechanism, not via
the Windows environment.
> The OS is the only place you can when the threads are in different
> processes unknown to each other. Or, can two different processes share
> the
> same thread?
No, never. If there is a concurrency problem with the envionment, it's
between threads of the same process. In that case, we can make getenv,
setenv and friends thread-safe, but it's still actually a problem of the
application, given that getenv, setenv and friends are not thread-safe
per POSIX. See
http://www.opengroup.org/onlinepubs/9699919799/functions/setenv.html
http://www.opengroup.org/onlinepubs/9699919799/functions/getenv.html
http://www.opengroup.org/onlinepubs/9699919799/functions/unsetenv.html
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -