This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc 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]

[Bug libc/13271] getaddrinfo is not thread safe


http://sourceware.org/bugzilla/show_bug.cgi?id=13271

Rich Felker <bugdal at aerifal dot cx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugdal at aerifal dot cx

--- Comment #1 from Rich Felker <bugdal at aerifal dot cx> 2011-10-07 12:28:26 UTC ---
Not a bug, as far as I can tell.

2.9.1 Thread-Safety

Since multi-threaded applications are not allowed to use the environ variable
to access or modify any environment variable while any other thread is
concurrently modifying any environment variable, any function dependent on any
environment variable is not thread-safe if another thread is modifying the
environment; see XSH exec.

And the cross-referenced text (from exec):

Conforming multi-threaded applications shall not use the environ variable to
access or modify any environment variable while any other thread is
concurrently modifying any environment variable. A call to any function
dependent on any environment variable shall be considered a use of the environ
variable to access that environment variable.

The only way the issue you reported *may* be a bug is in that getaddrinfo is
not documented by the standard to use any environment variables; this is a
behavior specific to most implementations including glibc. I'm not sure how
cases like this should be treated, but I think as long as the implementation
documents the use of the environment it's probably technically okay..

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]