>>Can you give a reason why we'll have to now start coding defensively
>>because our arguments to tsleep() are just "advisory" now?
>
>It is not something we "suddenly have to do" it's been The Right Way
>even since I first sharpened my teeth on unix kernels many years ago.
Uh, Poul, I think you're full of it. The previous behavior of tsleep where
you can make assumptions about who wakes you and under what conditions is a
long and well established idiom. We (the kernel developers of BSD) have always
coded to the established kernel programming interface and most of us consider
it bad form to check for conditions which can't happen because the kernel
API doesn't allow it. For example, we don't check for a NULL return from malloc
in the case of !NO_WAIT, because we knew that the code would never do that.
There are many other examples of similar assumptions in the kernel. We write
the code to be efficient and only check for bogus conditions that might
happen. The only exception to this is programatic ASSERTs that do internal
consistency checks, but the purpose of those is quite different.
-DG
David Greenman
Co-founder, The FreeBSD Project - http://www.freebsd.org
Manufacturer of high-performance Internet servers - http://www.terasolutions.com
Pave the road of life with opportunities.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message