Problem with Socket under Linux...

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Wed Apr 24 15:08:37 UTC 2002


Ian Piumarta <ian.piumarta at inria.fr> wrote:
> Goran,
> 
> I ran your test program and saw precisely what you described.
> 
> If you managed to build from source then could you apply the following
> patch, recompile and try to reproduce your original problem with Comanche?

I can do this tomorrow. But not today.

> (Running your test program with these changes, my VM sits at 0% CPU [plus
> or minus a few percentage points when opening notifiers ;-] throughout.  
> I've run several other tests and the changes seem fine, but I've not run
> anything nearly as "heavy" as Comanche -- so the very first question might
> even be "does it work at all?" ;-)

Ok. Sounds good.

> The patch is against the 3.1beta-4478 sources, posted about a month ago on
> my Squeak page.  (If you're using VMMaker then you'll have to figure out
> for yourself how to persuade patch to work right, or simply apply the
> patches by hand -- they're minimal.)  If it works for you and seems
> stable (i.e., Comanche functions properly for a few days) then I'll roll
> it into a 3.1 final release along with various other stuff and build a
> bunch of new VMs.

Perfect.

> Regards,
> 
> Ian

Hehe, I have looked it over and now I understand why I was
misunderstanding the code.
You guys where always talking about "arming" and "enabling" etc. and I
didn't quite understand that since I saw that you used | in notify()
(instead of &) which is really making a signal go out on the next call
to notify() regardless of the argument eventMask.

And now that you have changed it to & - perhaps we should rename
"pendingEvents" to "enabledEvents" and "eventMask" to "eventsToSignal"
or something. I don't know - now (with the &) the variable names just
feels a bit backwards.

Anyway - thanks for chasing this down - now I can use my Linux box
again! :-) If I am not incorrect this could also improve Comanches
performance a tad - right? It won't busyloop at least.

regards, Göran

PS. Did this also fix the fact that the UI sucked all available CPU
before? Hey, this might actually also have to do with the CPU sucking
problems of the Unix port over all. Cool catch! DS



More information about the Squeak-dev mailing list