Hi all,

I'm starting a process asynchronously from STAX via a <stafcmd /> to the 
PROCESS service with a request like:

STAF ... PROCESS START COMMAND ...  NOTIFY ONEND ...

So this defaults to starting the process asynchronously and doesn't wait 
for the process to complete.

What I've found is that on win32 if the process completely fails to 
start, say for example because a required .dll is not on the PATH, tnen 
when I come to later check back on the process with:

STAF ... PROCESS QUERY HANDLE <handle>

The returned process info looks something like:

{
     'rc': None,
     'endTimestamp': None,
     'command': 
'F:\\worgit\\ospli\\testsuite\\tests\\hello\\ccpp_hello_pub',
     'startMode': 'Async',
     'pid': '2660',
     'startTimestamp': '20100923-14:34:46',
     'workload': None,
     'handle': '91',
     'staf-map-class-name': 'STAF/Service/Process/ProcessInfo',
     'shell': None,
     'userName': None,
     'title': None,
     'parms': '-ORBListenEndpoints iiop://:23232 -ORBInitRef 
ccpp_hello_sub=corbaloc:iiop:rhel53a:23233/ccpp_hello_sub',
     'key': '1',
     'handleName': None,
     'focus': 'Background',
     'workdir': 'F:\\worgit\\ospli\\testsuite\\tests\\hello'
}

... i.e. the rc is None, there is a PID, & there is no endTimeStamp. So, 
it's basically indistinguishable from a running process.

This contrasts with Linux where you can see:

{
  'rc': '127',
  'endTimestamp': '20100923-14:22:16',
  'command': '/home/dds/sm/ospli/testsuite/tests/hello/ccpp_hello_pub',
  'startMode': 'Async',
  'pid': '12461',
  'startTimestamp': '20100923-14:22:15',
  'workload': None,
  'handle': '112',
  'staf-map-class-name': 'STAF/Service/Process/ProcessInfo',
  'shell': None,
  'userName': None,
  'title': None,
  'parms': '-ORBListenEndpoints iiop://:23232 -ORBInitRef 
ccpp_hello_sub=corbaloc:iiop:beatrice:23233/ccpp_hello_sub',
  'key': '1',
  'handleName': None,
  'focus': 'Background',
  'workdir': '/home/dds/sm/ospli/testsuite/tests/hello'
  }

... so a non zero return is present and an endTimeStamp.

Can you tell me please, is this by design and / or is there a workaround 
or other way of detecting if an async process has failed to start on win32 ?

Cheers,
-- 
Simon McQueen
e-mail: mailto:s...@prismtech.com
Tele:   +44-191-497-9966
Web:    http://www.prismtech.com

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

Reply via email to