cvs commit: src/sys/alpha/alpha support.s src/sys/i386/i386 swtch.s src/sys/kern kern_shutdown.c src/sys/sys systm.h

Bruce Evans bde at zeta.org.au
Tue Feb 17 14:43:23 PST 2004


On Tue, 17 Feb 2004, Marcel Moolenaar wrote:

> On Tue, Feb 17, 2004 at 09:57:41PM +0900, Jun Kuriyama wrote:
> > Sorry my stupid, but it seems everyone seems happy if traceback()
> > improvement happens.  Is that really too hard to go forward?
>
> Alternatively, we could extend KASSERT to emit a file and line
> number like assert(3) and instead of panic(). Seems very logical
> to me.

That feature was intentionally left out when KASSERT() was designed.
For some reason, we decided to give the invoker of KASSERT() complete
control over the message contents (unlike in userland where the message
is the condition stingized and followed by __FILE__ and __LINE__.
Presumably this was partly to permit use of existing panic messages
verbatim.  I'm not completely happy with the results of this at any
level, especially at the source level.  It requires and ugly syntax
(another layer of parentheses around the message), and is harder to
write and can be harder to read (writers have to think about what to
put in the message; it's normal to invert the sense of the assertion
and not unknown to make logic errors doing so; then readers don't
see the original condition in the panic message).

Bruce


More information about the cvs-all mailing list