* dcrt0.cc (main_environ): Initialize to &__cygwin_environment.

(dll_crt0_1): Move resourcelocks, thread interface, pinfo_init, and
uinfo_init...
(dll_crt0_0): ...to here.
(_dll_crt0): Call update_envptrs here after setting main_environ.
* environ.cc (environ_init): Eliminate initted variable.  Don't call
update_envptrs here.
* sigproc.cc (wait_sig): Use my_sendsig when calling CreatePipe to avoid a
dereference.
This commit is contained in:
Christopher Faylor
2006-03-14 19:07:36 +00:00
parent 3b731dc0e1
commit e5aa298da5
5 changed files with 33 additions and 25 deletions

View File

@@ -729,16 +729,12 @@ environ_init (char **envp, int envc)
if (efault.faulted ())
api_fatal ("internal error reading the windows environment - too many environment variables?");
static int initted;
if (!initted)
{
for (int i = 0; conv_envvars[i].name != NULL; i++)
{
conv_start_chars[(int) cyg_tolower (conv_envvars[i].name[0])] = 1;
conv_start_chars[(int) cyg_toupper (conv_envvars[i].name[0])] = 1;
}
initted = 1;
}
if (!conv_start_chars[0])
for (int i = 0; conv_envvars[i].name != NULL; i++)
{
conv_start_chars[(int) cyg_tolower (conv_envvars[i].name[0])] = 1;
conv_start_chars[(int) cyg_toupper (conv_envvars[i].name[0])] = 1;
}
got_something_from_registry = regopt ("default");
if (myself->progname[0])
@@ -814,7 +810,6 @@ environ_init (char **envp, int envc)
out:
__cygwin_environ = envp;
update_envptrs ();
if (envp_passed_in)
{
p = getenv ("CYGWIN");