Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 May 2003 12:05:29 +0200
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        Jordan Hubbard <jkh@apple.com>
Cc:        hackers@freebsd.org
Subject:   Re: A modest proposal for better errno values... 
Message-ID:  <19283.1052820329@critter.freebsd.dk>
In-Reply-To: Your message of "Tue, 13 May 2003 01:57:13 PDT." <E371408A-8520-11D7-8900-000393BB9222@apple.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <E371408A-8520-11D7-8900-000393BB9222@apple.com>, Jordan Hubbard wri
tes:

>#define EDOOFUS         88              /* Programming error */

My first reaction was to check the Received headers, to see if this
email had accidentally gotten held up for about six weeks, but no
such luck.

I also know that you personally have stared with disbelief at the
person who brough this up to you, and probably checked your calendar
as well.

And having worked at a big US company, I know from personal experience
how much tiny details can become big issues, so I am sure that
you are not making this up:  Somebody at Apple probably are worried
that they will get sued for insulting programmers, or get unfavourable
press because some silly journalist needs to fill 4" in column 3
and cant find a picture of potato which looks like Lincoln.

So we have to deal with it...

This error is currently used exactly one place in our kernel, where
it indicates that somebody with a FreeBSD commit bit or similar
level of clue has goofed up some code in such a way as to seriously
put users disk content at risk.

Traditionally, we have used panic(8) in such circumstances, but
there is no need to panic in this case, the system is perfectly
fine, there is no inconsistency, there is no risk, because the
kernel spotted the mistake and stopped before things got dangerous.

(We need to get away from using panic in situation where the system
can survive without risk, this is my little contribution to that
goal).

You will by now have noticed that the user will never see the EDOOFUS
text, it will always be presented as "Programming error", so the
only people to be offended are people reading source code, so I think
the risk of Samuel B. User being offended by accident is nil.

In my mind, "EUSERERR" as you propose, _would_ actually be insulting
for the user, because there is nothing the user can do to avoid
this error return, until the programmer fixes his mistake.

So far, I have gotten no feedback which indicates that anybody was
offended, or knew anybody who might get offended or even could think
of anybody who might get offended by this.  I have however received
a fair bit of feedback which show that those people appreciated a
little joke here and there.

And while I do think there is a limit to what our source-code should
contain this is not over that limit.

So I seriously think that somebody at Apple needs to get a life.

Next thing you know, they'll want me to add a softdrink option to
the beer-ware license in order to not encourage DUI and alcoholism.

_If_ there had been substantial traffic of kernel source from Apple
to FreeBSD, I _might_ have been a lot easier to persuade, since the
diff might one day be on my screen, trying to integrate something
from Apple.

But as it is now I am not at all interested in selling our freedom
to have a bit of fun to Apples sensibilities when I see little or
no tangible returns for me or the project for such concessions.

So it will take a direct edict from core@ or a well-documented
concensus amongst our developers to convince me that there is a
problem and that we need to fix it in FreeBSD.

And should that happen it will add another grain of sand on the
side of the balance which says "FreeBSD is not fun anymore".  (And
it goes without saying that I would not at all accept that some
hot-head just changes it before such a quorum is documented).

And you are perfectly spot on in your assumption that this is likely
to lead to a 500+ mail bikeshed, which will get into the deeper
subjects about programmer psychology, 1st ammendment rights, political
correctness, needlessly being offensive, needlessly being an
anal-retentive idiot, needlessly lacking basic genes for humour
recognition, how this was no problem at Novell when Terry invented
UNIX there, only to finally fizzle out when nobody but the arm-chair
generals are left and even they get tired of it, and the get revived
a couple of months later when somebody reads the mail-archives and
reignites the entire thing again.

So I might be tempted to suggest we just skip all that noise and
discussion, and go straight to a referendum on developer@, based
on your email stating the "pro" and this reply stating the "contra".

Either way, this is my only email on the subject.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



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