OAR

RTEMS GNU Tools On-Line Library


__env_lock

PREV UP NEXT Bookshelf

1.13: __env_lock, __env_unlock--lock environ variable

Synopsis

#include "envlock.h"
void __env_lock (void *reent);
void __env_unlock (void *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.



PREV UP NEXT Bookshelf

Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.