Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Mar 1996 13:19:49 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        robert@steffi.dgsys.com (Robert Nicholson)
Cc:        questions@FreeBSD.ORG
Subject:   Re: Netscape an not right scroller?
Message-ID:  <199603032019.NAA04527@phaeton.artisoft.com>
In-Reply-To: <199603032317.SAA02433@steffi.dgsys.com> from "Robert Nicholson" at Mar 3, 96 06:17:18 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Is this the correct behaviour when running Netscape in Linux compat?
> 
> ie. I have to click on the window to have a right scroller appear.
> 
> FREEBSD 2.1

>From other discussions, this seems to be a difference in the atomicity
of writes on POSIX domain (UNIX domain) sockets between BSD and Linux.

In particular, it looks like Linux does not combine multiple writes
by the server so that the client's read gets more than one event at
at a time.

It seems the rewrite of XtMainAppLoop() in the Xt toolkit (upon which
Motif is based) jumps directly into select instead of doing an
XPending() and causes events to be lost.  Specifically, expose
events for the just realized child window for the scrollbar widget.

This is, in fact, a bug in the way Netscape's main event loop was
programmed.

The fix *should* be to not agregate writes on the UNIX domain socket,
so that the reader sees each write using a seperate read.  Alternately,
you could block writes until the buffer is read by the reader, which
will serialize them and, again, prevent agregation (this will incidently
make Larry McVoy's pipe benchmark go faster while reducing overall
pipe throughput by increasing system call overhead for the same amount
of pipe data).

That is, intentionally break the BSD pipe code, one way or another.

Yes, I know this is bogus as hell.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603032019.NAA04527>