Sponsored Content
Full Discussion: getenv(3c)
Top Forums Programming getenv(3c) Post 5650 by deaniyoer on Monday 20th of August 2001 05:46:04 AM
Old 08-20-2001
getenv(3c)

Below is an extract from man page of getenv(3c)

NOTES

1> getenv() can be safely called from a multi-thread program.
2> However, care must still be taken when using getenv() and putenv(3C) in a multi-thread program.
3> These routines examine and modify the environment list.
4> This list is shared by all threads in a program.
5> The system prevents the list from being accessed simultaneously by two different threads.
6> However, it does not prevent two threads from successively accessing the environment list using getenv() or putenv(3C)

1a.) Does Line 5 means that at any one time, the system(OS) allows only one thread to read the ENV list?
1b.) If this is true, in the situation when there are many processes trying getenv() at the same time, will that cause a bottleneck (caused by queuing)?

2.) What does Line 6 means? Does it mean 2 differents thread can access ENV list sqeuentially?

Thnx Smilie
 
GETENV(3)						     Linux Programmer's Manual							 GETENV(3)

NAME
getenv - get an environment variable SYNOPSIS
#include <stdlib.h> char *getenv(const char *name); DESCRIPTION
The getenv() function searches the environment list to find the environment variable name, and returns a pointer to the corresponding value string. RETURN VALUE
The getenv() function returns a pointer to the value in the environment, or NULL if there is no match. CONFORMING TO
SVr4, POSIX.1-2001, 4.3BSD, C89, C99. NOTES
The strings in the environment list are of the form name=value. As typically implemented, getenv() returns a pointer to a string within the environment list. The caller must take care not to modify this string, since that would change the environment of the process. The implementation of getenv() is not required to be reentrant. The string pointed to by the return value of getenv() may be statically allocated, and can be modified by a subsequent call to getenv(), putenv(3), setenv(3), or unsetenv(3). SEE ALSO
clearenv(3), putenv(3), setenv(3), unsetenv(3), environ(7) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU
2008-03-17 GETENV(3)
All times are GMT -4. The time now is 09:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy