List Info

Thread: svnservice wrapper update




svnservice wrapper update
user name
2006-01-31 22:36:21
Simon Large wrote:
> SvnService.exe calls CreateProcess() to start
svnserve.exe. Does it 
> really need the same CRT to do that? I thought you
could start a 
> completely unrelated app that way.

I'm not that familiar with the code. But if it uses
CreateProcess(), 
then of course svnserve.exe is started as a separate process
and it 
completely independent, which means you can use whatever
runtime you want.
But that also means it won't notice if svnserve.exe dies or
does 
something unexpected - but that's maybe why it's called
"wrapper" 

Stefan

-- 
        ___
   oo  // \      "De Chelonian Mobile"
  (_,/ _/      TortoiseSVN
     _/__/>    The coolest Interface to (Sub)Version
Control
    /_/   _     http://tortoisesvn.tigr
is.org

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribetortoisesvn.tigris.org
For additional commands, e-mail: dev-helptortoisesvn.tigris.org

svnservice wrapper update
user name
2006-01-31 23:54:58
Stefan Küng wrote:
> Simon Large wrote:
>> SvnService.exe calls CreateProcess() to start
svnserve.exe. Does it 
>> really need the same CRT to do that? I thought you
could start a 
>> completely unrelated app that way.
> 
> I'm not that familiar with the code. But if it uses
CreateProcess(), 
> then of course svnserve.exe is started as a separate
process and it 
> completely independent, which means you can use
whatever runtime you want.
> But that also means it won't notice if svnserve.exe
dies or does 
> something unexpected - but that's maybe why it's called
"wrapper" 

     bItWorked = CreateProcess(
         szApp,
         szCommandLine,
         0,                          // default proc
security
         0,                          // default thread
security
         FALSE,                      // don't inherit
handles
         CREATE_NEW_PROCESS_GROUP,
         0,                          // default environment
         0,                          // default working
directory
         &startupInfo,
         &processInfo );

[snip error handling]

     eventHandles[0] = processInfo.hProcess;
     eventHandles[1] = g_quitEvent;
     err = WaitForMultipleObjects(
             2,
             eventHandles,
             FALSE,              // don't wait for all
events
             INFINITE );

Looks like it waits on the service manager and the process
itself. It 
should know that if svnserve died even if it doesn't get
invited to the 
autopsy.

Simon

-- 
        ___
   oo  // \      "De Chelonian Mobile"
  (_,/ _/      TortoiseSVN
     _/__/>    The coolest Interface to (Sub)Version
Control
    /_/   _     http://tortoisesvn.tigr
is.org

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribetortoisesvn.tigris.org
For additional commands, e-mail: dev-helptortoisesvn.tigris.org

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )