Brett McCoy wrote:
> On Tue, Apr 7, 2009 at 8:25 AM, Stephane Lesoinne
> <lesoi...@montefiore.ulg.ac.be> wrote:
> 
>> I'm trying to execute a loop on an external program file.exe in C program.
>> I'm using _execl(...) command to achieve this on Windows XP with MSVC++
>> 2008.
>> I've succeeded in running one instance of the process and now I would
>> like to execute the program file.exe many times but starting a new
>> "file.exe" process should wait the previous instance termination.
>>
>> If I only do
>>
>> int i;
>> for(i=0;i<3;i++){
>> _execl("file.exe","test",NULL);
>> }
>>
>> this doesn't work because, the three execution of file.exe are started
>> too fast.
>>
>> So, how can I pause the execution of the calling process till the the
>> resume of the current file.exe process ?
> 
> Did you try using system()? It only returns after the called program
> finishes running.
> 
> Note that the exec...() family of calls will replace the current
> process image with the new one that has been called. Normally you
> would would fork() first and then call exec...().
> 
> -- Brett
> ------------------------------------------------------------
> "In the rhythm of music a secret is hidden;
>     If I were to divulge it, it would overturn the world."
>                -- Jelaleddin Rumi

That won't happen under Windows.  Windows doesn't offer a mechanism to 
do what Linux exec() does.

-- 
Thomas Hruska
CubicleSoft President
Ph: 517-803-4197

*NEW* MyTaskFocus 1.1
Get on task.  Stay on task.

http://www.CubicleSoft.com/MyTaskFocus/

Reply via email to