Welcome to mirror list, hosted at ThFree Co, Russian Federation.

envlock.c « stdlib « libc « newlib - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8e55de288e1d43d39d503e30aa90682a9c3d5b6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
FUNCTION
<<__env_lock>>, <<__env_unlock>>--lock environ variable

INDEX
	__env_lock
INDEX
	__env_unlock

ANSI_SYNOPSIS
	#include "envlock.h"
       void __env_lock (struct _reent *<[reent]>);
       void __env_unlock (struct _reent *<[reent]>);

TRAD_SYNOPSIS
	void __env_lock(<[reent]>)
       struct _reent *<[reent]>;

	void __env_unlock(<[reent]>)
       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.
*/

#include "envlock.h"


void
__env_lock (ptr)
     struct _reent *ptr;
{
}

void
__env_unlock (ptr)
     struct _reent *ptr;
{
}