libc.info: __env_lock

Go forward to gvcvt
Go backward to ecvt
Go up to Stdlib
Go to the top op libc

`__env_lock', `__env_unlock'-lock environ variable

*Synopsis*
     #include "envlock.h"
     void __env_lock (struct _reent *REENT);
     void __env_unlock (struct _reent *REENT);
   *Description*
The `setenv' family of routines call these functions when they need to
modify the environ variable.  The version of these routines supplied in
the library does not do anything.  If multiple threads of execution can
call `setenv', or if `setenv' can be called reentrantly, then you need
to define your own versions of these functions in order to safely lock
the memory pool during a call.  If you do not, the memory pool may
become corrupted.
   A call to `setenv' may call `__env_lock' recursively; that is, the
sequence of calls may go `__env_lock', `__env_lock', `__env_unlock',
`__env_unlock'.  Any implementation of these routines must be careful
to avoid causing a thread to wait for a lock that it already holds.