We're going to try this ASAP. THANK YOU SO MUCH!!! I *really* appreciate your digging into this! Swiki's have taken off here at Tech much faster than I expected -- we have *FOUR* classes using them, with three other classes requesting them, plus four more being used by various research groups. (Why? Ward's Wiki is just a marvelous idea, and Swiki is cheap and easy to run.) I'm running out of server capacity!!! Moving to NTs will help alot.
Many thanks! Mark
Mark,
But I also replicated the problem that Noel Rappin and Georg Gollman had reported to me. It served once, then died. I stopped the server and restarted. It worked. Once. After a few times, it stopped working even after restart. I restarted on a new port. It worked. Once. I kept moving around the port numbers trying to figure out what was going on, when I stopped being able to access any files at all -- even the File List just reported something like "I can't access that file right now" for *ANY* file. I quit Squeak, restarted Squeak, and then, suddenly, it worked. Time after time. No server restart.
I've looked into your problem and I _think_ that I've found the problem. It seems that Socket>>primSocketSendDone: has to return false if the socket is no longer connected (see Socket>>waitForSendDoneUntil:).
This leads to a problem in Socket>>sendData: since if the connection is closed by the client the process will hang there. You can try this very easily by starting the PWS as foreground process and press the reload button of your web browser twice. If you interrupt the PWS then you should end up in an endless loop in Socket>>sendData:
For now, the easiest fix seems to be changing the return statement of Socket>>waitForSendDoneUntil: into
^sendDone and:[self isConnected]
I'll change it in the next VM version. Please let me know if this solves your problem.
Hope this helps, Andreas
PS. I've tried Swiki on various Windows versions (Win95, NT3.51, NT4) and except from the above it worked quite nicely.
-- Linear algebra is your friend - Trigonometry is your enemy. +===== Andreas Raab ============= (raab@isg.cs.uni-magdeburg.de) =====+ I Department of Simulation and Graphics Phone: +49 391 671 8065 I I University of Magdeburg, Germany Fax: +49 391 671 1164 I +=============< http://isgwww.cs.uni-magdeburg.de/~raab >=============+
-------------------------- Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
squeak-dev@lists.squeakfoundation.org