Please Help!! Calling Socket function in a dll file (that is created using cygwin library), by a Microsoft Visual C++ program resulting in infinite loop
kalasad mailu
kalasadmailu@gmail.com
Wed May 9 03:36:00 GMT 2007
Thanks for your answer and it works.
I have one more question:
I read the following from the how-cygtls-works.txt
"If you load cygwin1.dll dynamically from a non-cygwin application, it is
vital that the bottom CYGTLS_PADSIZE bytes of the stack are not in use
before you call cygwin_dll_init()"
How do I make sure bottom CYGTLS_PADSIZE bytes of the stack are not in use
before you call cygwin_dll_init()"
I could not find any information at: winsup/testsuite/cygload
On 5/2/07, Brian Dessent <brian@dessent.net> wrote:
> kalasad mailu wrote:
>
> > I am trying hard to get this stuff working!!!!!! Could you please help me.
> >
> > I created a dll file (test.dll), which contains the function that
> > creates a socket and return the success/failure status. This file uses
> > the socket.h provided by cygwin. I compiled this dll using gcc on
> > cygwin.
> >
> > I also created a library file(testdll.lib) from this dll(test.dll).
> > When I tried to call the function defined in the test.dll in a program
> > (written in Microsoft Visual C++), this enters (that is created using
> > cygwin library), by a Microsoft Visual C++ program rean infinite loop.
> > The same program works fine if I call getuid or random function
> > instead of socket. And the stack is as below. I would really
> > appreciate if I can get some suggestions on how to get this working.
>
> The Cygwin DLL has special requirements for initialization. This
> happens automatically for executables compiled with gcc, but otherwise
> you need to explicly init the library. The details are all in the FAQ.
>
> > gcc -shared -I ../../cygwin/usr/include/cygwin -o testdll.dll test.cpp
> > -Wl,--output-def,testdll.def,--out-implib,libtestdll.a
> >
> > Command used to create the library file:
> >
> > "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\lib"
> > /machine:i386 /DEF:testdll.def
>
> Why not simply "cp libtest.dll.a testdll.lib"? They're the same thing.
>
> Brian
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list