aboutsummaryrefslogtreecommitdiffstats
path: root/ports
diff options
context:
space:
mode:
Diffstat (limited to 'ports')
-rw-r--r--ports/common/guts/execv.c7
-rw-r--r--ports/common/guts/execve.c7
-rw-r--r--ports/common/guts/execvp.c7
-rw-r--r--ports/common/guts/fork.c5
-rw-r--r--ports/linux/newclone/guts/clone.c5
-rw-r--r--ports/linux/oldclone/guts/clone.c5
6 files changed, 12 insertions, 24 deletions
diff --git a/ports/common/guts/execv.c b/ports/common/guts/execv.c
index 15ad51e..763e1f9 100644
--- a/ports/common/guts/execv.c
+++ b/ports/common/guts/execv.c
@@ -18,12 +18,9 @@
free(path_guess);
}
- if (!pseudo_get_value("PSEUDO_RELOADED"))
- pseudo_setupenv();
- else {
- pseudo_setupenv();
+ pseudo_setupenv();
+ if (pseudo_get_value("PSEUDO_UNLOAD"))
pseudo_dropenv();
- }
/* if exec() fails, we may end up taking signals unexpectedly...
* not much we can do about that.
diff --git a/ports/common/guts/execve.c b/ports/common/guts/execve.c
index a47b9a7..a003657 100644
--- a/ports/common/guts/execve.c
+++ b/ports/common/guts/execve.c
@@ -19,12 +19,9 @@
free(path_guess);
}
- if (!pseudo_get_value("PSEUDO_RELOADED"))
- new_environ = pseudo_setupenvp(envp);
- else {
- new_environ = pseudo_setupenvp(envp);
+ new_environ = pseudo_setupenvp(envp);
+ if (pseudo_get_value("PSEUDO_UNLOAD"))
new_environ = pseudo_dropenvp(new_environ);
- }
/* if exec() fails, we may end up taking signals unexpectedly...
* not much we can do about that.
diff --git a/ports/common/guts/execvp.c b/ports/common/guts/execvp.c
index 419f41b..5e75be7 100644
--- a/ports/common/guts/execvp.c
+++ b/ports/common/guts/execvp.c
@@ -19,12 +19,9 @@
free(path_guess);
}
- if (!pseudo_get_value("PSEUDO_RELOADED"))
- pseudo_setupenv();
- else {
- pseudo_setupenv();
+ pseudo_setupenv();
+ if (pseudo_get_value("PSEUDO_UNLOAD"))
pseudo_dropenv();
- }
/* if exec() fails, we may end up taking signals unexpectedly...
* not much we can do about that.
diff --git a/ports/common/guts/fork.c b/ports/common/guts/fork.c
index 76cac6f..df8abd7 100644
--- a/ports/common/guts/fork.c
+++ b/ports/common/guts/fork.c
@@ -11,11 +11,10 @@
* pseudo in the child process
*/
if (rc == 0) {
- if (!pseudo_get_value("PSEUDO_RELOADED")) {
- pseudo_setupenv();
+ pseudo_setupenv();
+ if (!pseudo_get_value("PSEUDO_UNLOAD")) {
pseudo_reinit_libpseudo();
} else {
- pseudo_setupenv();
pseudo_dropenv();
}
}
diff --git a/ports/linux/newclone/guts/clone.c b/ports/linux/newclone/guts/clone.c
index b3400c7..4b65036 100644
--- a/ports/linux/newclone/guts/clone.c
+++ b/ports/linux/newclone/guts/clone.c
@@ -12,11 +12,10 @@
* undo it later. UGH!
*/
pseudo_debug(1, "client resetting for clone(2) call\n");
- if (!pseudo_get_value("PSEUDO_RELOADED")) {
- pseudo_setupenv();
+ pseudo_setupenv();
+ if (!pseudo_get_value("PSEUDO_UNLOAD")) {
pseudo_reinit_libpseudo();
} else {
- pseudo_setupenv();
pseudo_dropenv();
}
/* call the real syscall */
diff --git a/ports/linux/oldclone/guts/clone.c b/ports/linux/oldclone/guts/clone.c
index 58ff4ad..e8b87e8 100644
--- a/ports/linux/oldclone/guts/clone.c
+++ b/ports/linux/oldclone/guts/clone.c
@@ -12,11 +12,10 @@
* undo it later. UGH!
*/
pseudo_debug(1, "client resetting for clone(2) call\n");
- if (!pseudo_get_value("PSEUDO_RELOADED")) {
- pseudo_setupenv();
+ pseudo_setupenv();
+ if (!pseudo_get_value("PSEUDO_UNLOAD")) {
pseudo_reinit_libpseudo();
} else {
- pseudo_setupenv();
pseudo_dropenv();
}
/* call the real syscall */