Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Feb 1999 00:53:04 +0900
From:      "Daniel C. Sobral" <dcs@newsguy.com>
To:        Dag-Erling Smorgrav <des@flood.ping.uio.no>, hackers@FreeBSD.ORG
Subject:   Re: portability of shm, mmap, pipes and socket IPC
Message-ID:  <36C1AB60.EEEED9E0@newsguy.com>
References:  <199902092246.PAA10658@usr02.primenet.com> <199902100403.MAA55849@spinner.netplex.com.au> <19990210085847.A11710@gil.physik.rwth-aachen.de> <199902100907.BAA79553@apollo.backplane.com> <xzp1zjybabz.fsf@flood.ping.uio.no> <36C19CC9.62FAA6F7@newsguy.com> <xzpww1q9u9r.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Dag-Erling Smorgrav wrote:
> 
> > Manual pages aren't POLA. They are specs. Traditional usage is POLA.
> > Wanna different different behavior? Create a different function.
> 
> Yep, man pages are specs, and when the spec says tv may be modified by
> select(), that means you can't expect it to remain untouched.

What you can "expect" is one thing. What you have been doing all
your life is another. The principle of least astonishment concerns
with what people are used to do. The way the man page is written
right now is so that we have something to point to if we decide we
want to break POLA. Not very smart, if you ask me.

Point in case, the applications that broke with Linux because of
this. They broke because they did not expect such behavior. Ie,
Linux violated POLA.

> > Besides, given that most usages have no need for this, it would be a
> > wast of space and time.
> 
> On the contrary, it is extremely useful for implementing higher-level
> timeouts. If you want to see the new installer come true, I need to
> implement protocol-level timeouts in libfetch, and that means either
> add a lot of gettimeofday() logic or fix select() to modify tv.

I'm not saying it is extremely useful where it _is_ useful. :-) In
fact, I have needed it on occasion. What I'm saying is that _most_
uses of select() are not concerned with this. It is, therefore,
wasteful to add this functionality to select() (aside from breaking
POLA).

I am all for a *different* function with this added functionality.

--
Daniel C. Sobral			(8-DCS)
dcs@newsguy.com
dcs@freebsd.org

	Well, as a computer geek, I have to believe in the binary universe.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



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