cvs commit: src/sys/kern init_main.c kern_malloc.c md5c.c subr_autoconf.c subr_mbuf.c subr_prf.c tty_subr.c vfs_cluster.c vfs_subr.c

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Jul 27 13:58:20 PDT 2003


In message <3F243888.784795AC at aueb.gr>, Diomidis Spinellis writes:
>Poul-Henning Kamp wrote:
>> I personally don't want to have to express the same ting multiple
>> times, once for the compiler and once for each interested tool is
>> N-1 times too many.
>
>There are often hidden opportunities to avoid this problem.  As an
>example, our section 2 manual pages document the error codes of each
>system call using the .Er macro.  I find this type of documentation
>extremely valuable; when I get a strange error from a system call I can
>grep for the errno value in /sys to see what is going on.  The lists are
>not complete; I have in the last year corrected two manual pages where a
>given return code was missing.  I could write a tool to follow the call
>graph, locate all "errno = " assignments for each function call, and
>compare them against the corresponding manual page.  As I see it, the
>main obstacle is the various vtables that make the static establishment
>of the call graph a lot more difficult.

This is exactly the sort of "small tool" (except I have no idea just
how "small" or not "small" it is :-) I like.

I don't mind us having a convention or style(9) rule which says
that error variables are called either "error" or "errno" if
this means we can have a tool which helps us keep this particularly
inwieldy part of our API under some sort of control.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at 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.


More information about the cvs-src mailing list