bob davis wrote:
I know I asked this question before. (but didnt get an answer)
on win32 par makes an executable and when that executable is run I get 2 processes. When I do the same on cygwin or linux I only get one process.

Anybody know why?

thanks
bob
So I think I found the file where the spawn is occuring.
myldr/static.c

#ifdef WIN32
   hinstLib = LoadLibrary("user32");
   if (hinstLib != NULL) {
ProcAdd = (pALLOW) GetProcAddress(hinstLib, "AllowSetForegroundWindow");
       if (ProcAdd != NULL)
       {
           (ProcAdd)(ASFW_ANY);
       }
   }

   par_setenv("PAR_SPAWNED", "1");
i = spawnvpe(P_WAIT, my_file, (const char* const*)argv, (const char* const*)environ);
#else
   execvp(my_file, argv);
   return 2;
#endif

par_cleanup(stmpdir);

I tried making it always do the #ifndef WIN32 branch and it failed the make test. Not sure why. Something about arg execvp wrong.

The only thing I lose is the par_cleanup which I would be willing to lose.(if I understand what its doing) I think it is just cleaning up the temp files if the env var par_env_clean is set.



Any suggestions?

thanks
bob

Reply via email to