On Mar 9 17:54, BRC wrote: > Hi, > > I have a perl based server that creates a TCP listen > socket in a parent process, then forks off an N-child > process pool that normally accepts connections > round-robin style alla apache 1.3. Everything worked > great when I was based on cygwin1.dll version 1.5.18. > I would see many requests being simulatenously > sometimes lasting up to a minute. > > Then I did a recent upgrade and suddenly all requests > became serialized. That is, an entire request would > need to be handled before a pending one a child began. > I immediately downgraded perl to 5.8.6-4 from > 5.8.7-5. Nothing changed. Then I did a complete > cygwin rollback and the concurrency went back to > normal. I was then able to advance just the version > of perl back to 5.8.7-5 and everything still works. > After lots of back and forth, I was able to isolate > the behavior difference to cygwin1.dll. > > I would really like to keep up with all cygwin changes > but I am now stuck knowing there is a problem for me > with the latest cygwin version. > > I realize that Perl's fork under cygwin is technically > using threads so I left wondering if this is a > blocking > io problem (that changed with cygwin revs) since it > seems to transcend perl. > > Any help is appreciated.
I have no idea how that should happen at all and so I assume I don't understand exactly how your application works. Could you please create a simple testcase in plain C, stripped to the bare minimum of lines, building and working OOTB, which allows to reproduce the problem? That would be most helpful. Another test you could also make is this: Can you easily change your listen/accept/action code so that only the server accepts and then a child is forked for the associated action? Does that maintain concurrency in your server with 1.5.19? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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/