Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/lib/libc
Module Name: src
Committed By: nathanw
Date: Tue Mar 4 19:44:11 UTC 2003
Modified Files:
src/lib/libc/gen: execl.c execv.c execvp.c popen.c
src/lib/libc/stdlib: system.c
Log Message:
Don't acquire __environ_lock around exec*() calls; nothing requires
that these calls be thread-safe with respect to the environment, and it
causes serious problems for threaded applications which call vfork() and
exec*() (including indirectly, via popen() or system()).
Acquire and release __environ_lock in the parent in popen() and system() to
play safe and provide the child with a stable environment.
__environ_lock should also have an atfork() handler; still under development.
To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 src/lib/libc/gen/execl.c
cvs rdiff -r1.6 -r1.7 src/lib/libc/gen/execv.c
cvs rdiff -r1.21 -r1.22 src/lib/libc/gen/execvp.c
cvs rdiff -r1.25 -r1.26 src/lib/libc/gen/popen.c
cvs rdiff -r1.17 -r1.18 src/lib/libc/stdlib/system.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index