"In fact, the fact that tokens do not deadlock coupled with the fact
that there is no expectation of atomicity for earlier acquired tokens
when later operations block leads to a great deal of code simplification.
If you look at FreeBSD-5, you will notice that FreeBSD-5 passes held
mutexes down the subroutine stack quite often, in order to allow some
very deep procedural level to temporarily release a mutex in order to
switch or block or deal with a deadlock. There is a great deal of
code pollution in FreeBSD-5 because of this (where some procedures
must be given knowledge of the mutexes held by other unrelated procedures
in order to function properly)." -- Matt Dillon
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |