If indeed cmdproxy spawns itself endlessly, then the first suspect is
this code in cmdproxy.c:
if (!SearchPath (NULL, argv[0], ".exe", sizeof (path), path,&progname)
|| !GetShortPathName (path, path, sizeof (path))
|| stricmp (modname, path) != 0)
{
/* We are being used as a helper to run a DOS app; just pass
command line to DOS app without change. */
/* TODO: fill in progname. */
if (spawn (NULL, GetCommandLine (), dir,&rc))
return rc;
fail ("Could not run %s\n", GetCommandLine ());
}
Are you able to run cmdproxy under a debugger and see what is going on
here? If so, please tell what are argv[0], path, and modname just
before the call to `spawn' (assuming my guess is correct, and cmdproxy
really calls `spawn' in this snippet).