* dcrt0.cc (multiple_cygwin_problem): Clarify logic and make CYGWIN_MISMATCH_OK
more powerful.
This commit is contained in:
parent
0d9cc95e90
commit
5daa0835e3
|
@ -1,3 +1,8 @@
|
||||||
|
2002-01-13 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* dcrt0.cc (multiple_cygwin_problem): Clarify logic and make
|
||||||
|
CYGWIN_MISMATCH_OK more powerful.
|
||||||
|
|
||||||
2002-01-10 Christopher Faylor <cgf@redhat.com>
|
2002-01-10 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
* exceptions.cc (sig_handle): Accept a second argument indicating
|
* exceptions.cc (sig_handle): Accept a second argument indicating
|
||||||
|
|
|
@ -837,9 +837,11 @@ _dll_crt0 ()
|
||||||
case _PROC_FORK:
|
case _PROC_FORK:
|
||||||
user_data->forkee = fork_info->cygpid;
|
user_data->forkee = fork_info->cygpid;
|
||||||
should_be_cb = sizeof (child_info_fork);
|
should_be_cb = sizeof (child_info_fork);
|
||||||
|
/* fall through */;
|
||||||
case _PROC_SPAWN:
|
case _PROC_SPAWN:
|
||||||
if (fork_info->pppid_handle)
|
if (fork_info->pppid_handle)
|
||||||
CloseHandle (fork_info->pppid_handle);
|
CloseHandle (fork_info->pppid_handle);
|
||||||
|
/* fall through */;
|
||||||
case _PROC_EXEC:
|
case _PROC_EXEC:
|
||||||
if (!should_be_cb)
|
if (!should_be_cb)
|
||||||
should_be_cb = sizeof (child_info);
|
should_be_cb = sizeof (child_info);
|
||||||
|
@ -1039,17 +1041,20 @@ multiple_cygwin_problem (const char *what, unsigned magic_version, unsigned vers
|
||||||
fork_info = NULL;
|
fork_info = NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (CYGWIN_VERSION_MAGIC_VERSION (magic_version) != version)
|
|
||||||
|
char buf[1024];
|
||||||
|
if (GetEnvironmentVariable ("CYGWIN_MISMATCH_OK", buf, sizeof (buf)))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (CYGWIN_VERSION_MAGIC_VERSION (magic_version) == version)
|
||||||
|
system_printf ("%s magic number mismatch detected - %p/%p", what, magic_version, version);
|
||||||
|
else
|
||||||
api_fatal ("%s version mismatch detected - %p/%p.\n\
|
api_fatal ("%s version mismatch detected - %p/%p.\n\
|
||||||
You have multiple copies of cygwin1.dll on your system.\n\
|
You have multiple copies of cygwin1.dll on your system.\n\
|
||||||
Search for cygwin1.dll using the Windows Start->Find/Search facility\n\
|
Search for cygwin1.dll using the Windows Start->Find/Search facility\n\
|
||||||
and delete all but the most recent version. The most recent version *should*\n\
|
and delete all but the most recent version. The most recent version *should*\n\
|
||||||
reside in x:\\cygwin\\bin, where 'x' is the drive on which you have\n\
|
reside in x:\\cygwin\\bin, where 'x' is the drive on which you have\n\
|
||||||
installed the cygwin distribution.", what, magic_version, version);
|
installed the cygwin distribution.", what, magic_version, version);
|
||||||
|
|
||||||
char buf[1024];
|
|
||||||
if (!GetEnvironmentVariable ("CYGWIN_MISMATCH_OK", buf, sizeof (buf)))
|
|
||||||
system_printf ("%s magic number mismatch detected - %p/%p", what, magic_version, version);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUGGING
|
#ifdef DEBUGGING
|
||||||
|
|
Loading…
Reference in New Issue