Thread Tools Search this Thread
Top Forums Programming getenv(3c)
# 1  
Old 08-20-2001

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


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
# 2  
Old 08-24-2001
5. means that only one thread at a time can call getenv(), the kernel blocks other theads from calling when the symbol is in use. 6. means another thread can call getenv() when it returns from a process and is free.
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question