Several days ago, I come across
2 posts which introduce
OpenBSD Hackathon: Historical: My first OpenBSD Hackathon and Michael W. Lucas: Visiting the OpenBSD t2k13 Hackathon. From the reading, I find
OpenBSD is a really distinctive and amazing project, especially after browsing its neat code mirror in github, which makes sure my assumption. So I decided to make my hands dirty on it.
Last weekend, I installed
OpenBSD on an old machine, and checked out its fresh code from
CVS repository. Because I think reading its code can let me get a better understanding about
Unix philosophy, I decides to take the
dmesg as the first experiment. During the reading, the following code gave me a hit unexpectedly:
...... mib = startupmsgs ? KERN_CONSBUFSIZE : KERN_MSGBUFSIZE; len = sizeof(msgbufsize); if (sysctl(mib, 2, &msgbufsize, &len, NULL, 0)) err(1, "sysctl: KERN_MSGBUFSIZE"); ...... mib = startupmsgs ? KERN_CONSBUF : KERN_MSGBUF; len = msgbufsize; if (sysctl(mib, 2, bufdata, &len, NULL, 0)) err(1, "sysctl: KERN_MSGBUF"); ......
err() function always reports
KERN_MSGBUFSIZE error even it is actually
KERN_CONSBUFSIZE. So it should be a bug, at least should be an enhancement. I followed Preparing a diff and Making your first patch (OpenBSD) to submit my first
OpenBSD patch. Guess what? just few hours later, dmesg source file was changed base on my code. Although the final modification is not my code, it is still a great pleasure that I contribute my own effort to help make