WSAStartup() _spawnlpe() and cygwin child processes

Craig Nelson craig@reversion.ca
Mon Feb 26 09:22:00 GMT 2001


Hi All,

I have a raw MSVC++ "inetd" type of process that listen()s on a TCP/IP port and calls _spawnlpe() for each connection.
The spawned process is a cygwin process.  By setting the PATH in the spawnlpe command (such that it finds the cygwin1.dll and the correct .exe
- even in the same directory) I can get the process to run, except there are two small problems with the spawned cygwin process:

1.  The socket() function fails with error 10106 (WSAEPROVIDERFAILEDINIT- requested service provider could not be loaded or initialized)
2.  stdin, stdout, and stderr are all in O_TEXT mode (not O_BINARY).

If I run the cygwin process from the DOS prompt, these two symptoms go away and the process runs great.  I am running cygwin1.1.8-2 and
NT4sp6a.  The raw MSVC program links to the Ws_32.lib library.. if that really matters...

It appears that the spawned process is not running any of the cygwin initialization code.  Or that perhaps the required DLL's are loaded in a different
order.. ??  Is there a way to run the cygwin init stuff directly?  Is this the correct solution?

If you can help in any way, I'd really appreciate it!

Thanks,
Craig Nelson, Cameo Systems Inc.


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list