Our semaphores more or less match what other system call a "mutex", i.e. something that can be obtained once only. In contrast to a mutex the semaphore of other systems can be obtained up to n times in parallel, but the n+1 accessor will be blocked until one of the first n releases the semaphore again. This is something that the struct SignalSemaphore of AmigaOS cannot provide (yet). At least this is how I understand the situation.