This is the mail archive of the mailing list for the Cygwin project. See the Cygwin home page for more information.
Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Porting: Can I use WinNT Fibers? cygwin or mingw32?

Hi Everyone,

I'm trying to port an application from Solaris to WinNT(4.0).  It is an
interpreted procedural language (bison/flex) etc.  So far, I've had a
LOT of successs and happiness with cygwin in this effort. Congrats to
everyone working on cygwin.

The applications uses threads, BUT it is designed to only let one
thread run at a time.  I DON'T NEED concurrency -- I just need context
switching. So far, I've just ifdefed out the parts of my code that use
threads, and worked on the rest of the porting effort.

Now I'm at the stage where I need to figure out the thread stuff.
I've read that the cygwin DLL doesn't support multi-threaded
applications. I've also read about WinNT fibers. Fibers seem implement
the exact context-switching functionality that I need. And since
fibers don't have any concurrency, it at least seems likely that I
ought to be able to safely use them under cygwin.

My questions:

	1) Can I safely use fibers within a program running under 
		the cygwin DLL? Or do I have to use mingw32?

	2) How do I create an updated libkernel32.a so that I
		can successfully link against these functions?
		(I tried several times before I wrote this email
		to use dlltool to do this, but it's harder than it
		looks :-)

	3) Do I even have to do (2)? :-)

If I figure this out, I'll be happy to let anyone who is interested
know how I did it.

Thanks in advance for your response,



Want to unsubscribe from this list?
Send a message to