4c1b66246d
If address environments are in use, it is not possible to simply memcpy from from one process to another. The current implementation of env_dup does precisely this and thus, it fails at once when it is attempted between two user processes. The solution is to use the kernel's heap as an intermediate buffer. This is a simple, effective and common way to do a fork(). Obviously this is not needed for kernel processes. |
||
---|---|---|
.. | ||
Make.defs | ||
group.h | ||
group_addrenv.c | ||
group_childstatus.c | ||
group_continue.c | ||
group_create.c | ||
group_exitinfo.c | ||
group_find.c | ||
group_foreachchild.c | ||
group_free.c | ||
group_getgid.c | ||
group_getuid.c | ||
group_join.c | ||
group_killchildren.c | ||
group_leave.c | ||
group_malloc.c | ||
group_realloc.c | ||
group_setgid.c | ||
group_setuid.c | ||
group_setupidlefiles.c | ||
group_setupstreams.c | ||
group_setuptaskfiles.c | ||
group_signal.c | ||
group_suspendchildren.c | ||
group_waiter.c | ||
group_zalloc.c |