On Sat, 17 Dec 2005, Nick Piggin wrote: > Steven Rostedt wrote: > > On Fri, 2005-12-16 at 23:13 +0000, David Howells wrote: > > >>This patch set does the following: > >> > >> (1) Renames DECLARE_MUTEX and DECLARE_MUTEX_LOCKED to be DECLARE_SEM_MUTEX > >> and > >> DECLARE_SEM_MUTEX_LOCKED for counting semaphores. > >> > > > > > > Could we really get rid of that "MUTEX" part. A counting semaphore is > > _not_ a mutex, although a mutex _is_ a counting semaphore. As is a Jack > > Russell is a dog, but a dog is not a Jack Russell. > > > > Really? > > A Jack Russell is a dog because anything you say about a dog can > also be said about a Jack Russell.
I said a Jack Russell _is_ a dog, but a dog is not a Jack Russell. Everything you can say about a dog you can't say about a Jack Russell. Since, a dog can have other characteristics than a Jack Russell has. A dog can be big and lazy, but I would not say that about a Jack Russell. > > A counting semaphore is a mutex for the same reason (and observe > that 99% of users use the semaphore as a mutex). A mutex definitely > is not a counting semaphore. David's implementation of mutexes > don't count at all. But a counting semaphore of (one) _is_ a mutex! But a mutex can't have more than one. As for David's code, that's just arguing implementation, and not the semantics of it. -- Steve
