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

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-07-15 06:48:11 +0400
committerChristopher Faylor <me@cgf.cx>2000-07-15 06:48:11 +0400
commit2eb392bd77de1535823daeae04c83fae0e331ee8 (patch)
tree4884c02f41340bb1267f1566f004e76a90599d4e /winsup/cygwin/exec.cc
parent44d2afed74351bafed8c4f4d4e5664e50a9c9a9c (diff)
* hinfo.cc (hinfo::linearize_fd_array): Make max_used_fd an int so that we can
detect when there are no fds to pass. * dcrt0.cc (host_dependent_constants::init): Revert Sat Mar 18 01:32:04 2000 change. (dll_crt0_1): Set "cygwin_finished_initializing" flag. (dll_crt0): Don't perform memcpy if uptr is already set to internal structure. (_dll_crt0): Remember location of programs envptr. * dll_init.h (per_module, dll, dll_list): Revamp. * dll_init.cc: Revamp. Use new classes. * fork.cc (fork): Use new revamped dll, dll_list, and per_module stuff. * environ.cc: Use __cygwin_environ throughout rather than the user_data->envptr. * exec.cc: Ditto. * spawn.cc: Ditto. * winsup.h: Declare update_envptrs, cygwin_finished_initializing. * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Revert previous change. * lib/cygwin_attach_dll.cc (cygwin_attach_dll): Always pass in own per_process structure or we end up overwriting information from the main program.
Diffstat (limited to 'winsup/cygwin/exec.cc')
-rw-r--r--winsup/cygwin/exec.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/winsup/cygwin/exec.cc b/winsup/cygwin/exec.cc
index b83a9b905..0ba3ead6f 100644
--- a/winsup/cygwin/exec.cc
+++ b/winsup/cygwin/exec.cc
@@ -44,7 +44,7 @@ execl (const char *path, const char *arg0, ...)
while (argv[i++] != NULL);
va_end (args);
MALLOC_CHECK;
- return _execve (path, (char * const *) argv, *user_data->envptr);
+ return _execve (path, (char * const *) argv, __cygwin_environ);
}
extern "C"
@@ -52,7 +52,7 @@ int
execv (const char *path, char * const *argv)
{
MALLOC_CHECK;
- return _execve (path, (char * const *) argv, *user_data->envptr);
+ return _execve (path, (char * const *) argv, __cygwin_environ);
}
/* the same as a standard exec() calls family, but with NT security support */
@@ -85,7 +85,7 @@ sexecl (HANDLE hToken, const char *path, const char *arg0, ...)
va_end (args);
MALLOC_CHECK;
- return sexecve (hToken, path, (char * const *) argv, *user_data->envptr);
+ return sexecve (hToken, path, (char * const *) argv, __cygwin_environ);
}
extern "C"
@@ -131,8 +131,7 @@ sexeclp (HANDLE hToken, const char *path, const char *arg0, ...)
va_end (args);
MALLOC_CHECK;
- return sexecvpe (hToken, path, (const char * const *) argv,
- *user_data->envptr);
+ return sexecvpe (hToken, path, (const char * const *) argv, __cygwin_environ);
}
extern "C"
@@ -164,7 +163,7 @@ int
sexecv (HANDLE hToken, const char *path, const char * const *argv)
{
MALLOC_CHECK;
- return sexecve (hToken, path, argv, *user_data->envptr);
+ return sexecve (hToken, path, argv, __cygwin_environ);
}
extern "C"
@@ -172,7 +171,7 @@ int
sexecp (HANDLE hToken, const char *path, const char * const *argv)
{
MALLOC_CHECK;
- return sexecvpe (hToken, path, argv, *user_data->envptr);
+ return sexecvpe (hToken, path, argv, __cygwin_environ);
}
/*