Re: AfterStep and *BSD [ was Re: more wharf problems. ]

jack (
Sun, 13 Jun 1999 14:18:21 -0400 (EDT)

On Jun 12 Frederick Bruckman wrote:

> > 	The 6th patch to 1.7.49 series contains the switch to
> > UNIX-domain socket code, so if AfterStep breaks for you (or any
> > *BSD'r) at 1.7.49 patched to 1.7.55; this is the actual problem; otherwise
> > we'll just have to see what the actual person/developer who looks into the
> > problem comes up with. :)
> That confirms my suspicion.

1.7.55 is indeed the breaking point, 1.7.54 looks good.

> I don't think that would help. It's pretty clear that the commands
> sent over the socket aren't being received reliably. Any particular
> module will start if you bang on the module menu repeatedly, so the
> message parsing has to be generally correct.
> It looks like the problem is that, according to the man page, read()
> on a socket isn't guaranteed to return the requested number of bytes.
> When this happens in response to the read() calls in events.c and
> module.c, afterstep drops the ball and kills the module.

Reading from pipes in module.c is where it barfs.  There was a
patch committed to the 3.x branch recently to fix a potential
race problem in pipes, but I don't recall the specifics.  I've
got my test box building the latest FBSD version now, but it's a
slow machine :(, when it finishes if that doesn't help I'll see
what I can find.

If anyone else would like to take a shot at this the 1.7.49
source and all patches thru 1.4.75 are available at

Jack O'Neill                    Systems Administrator / Systems Analyst     Crystal Wind Communications, Inc.
          Finger for my PGP key.
   PGP Key fingerprint = F6 C4 E6 D4 2F 15 A7 67   FD 09 E9 3C 5F CC EB CD
               enriched, vcard, HTML messages > /dev/null