Semaphore description in UM

Leon Pollak leonp at
Tue Dec 25 19:51:58 UTC 2007

Hello, all.

With great shame I must admit that I am lost (may be the problem of my 
English?). I passed through the manual for something and saw the para 9.4.5 
(rtems_semaphore_release) stating the following:
This directive releases the semaphore specified by id. The semaphore count is 
incremented by one. If the count is zero or negative, then the first task on 
this semaphore's wait queue is removed and unblocked. 
Does this mean that if the count is greater then zero, then nothing happens? 
Or/and does this mean that simply each release call makes the waiting task 
ready, but if there was no waiting task the next obtain request will block?

And here is the question I was looking for: is there any way to know the 
counting semaphore value via the API?

Thanks a lot ahead and my apologizes for so not understanding...

More information about the users mailing list