fork() and NT error 0xC0000135 (STATUS_DLL_NOT_FOUND)

Andrey Repin anrdaemon@yandex.ru
Wed Oct 30 07:05:00 GMT 2013


Greetings, Lavrentiev, Anton (NIH/NLM/NCBI) [C]!

> I can't find a similar problem reported earlier, so please excuse the question
> if it looks familiar.

> We have a software package that installs like a miniature CYGWIN deployment
> (basically, only cygwin1.dll and just a few other libraries in /bin
> along with cygrunsrv.exe), and there are no shells.

> cygrunsrv.exe is used to register and launch a Windows service with a binary
> located under "/opt/..." (which is a ported UNIX server).  The binary is started
> just fine, but when it tries to fork(), it gets the error 0xC0000135 (w/ errno=11,
> EAGAIN).  I traced it down to the fact that before fork() there is chdir("/") in
> that server binary.  Can it be the reason for the failed fork() that it can no longer
> find cygwin1.dll?  Unfortunately, I can't extend Windows PATH to include the
> CYGWIN /bin directory (because the cygrunsrv runs under an unmanaged service
> account).  Is there any other fix?

Add cygwin1.dll to the list of known system libraries.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
May help.
But this doesn't change the fact that the server SHOULD NOT unconditionally
change the CWD to the ROOT of a file system.


--
WBR,
Andrey Repin (anrdaemon@yandex.ru) 30.10.2013, <10:44>

Sorry for my terrible english...


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list