> >>
> >> So waiting on a semaphore would mean:
> >> lock mutex
> >> while (count==0)
> >>   wait on condition variable
> >> count--
> >> unlock mutex
> >>
> >> And posting a semaphore:
> >> lock mutex
> >> count++
> >> signal condition variable
> >> unlock mutex
> > 
> > 
> > Jonathan,
> > 
> > As a clarification of the above example, is the intention for the 
> > mutex used by the semaphore pend to be the same as the one 
> used by the 
> > semaphore post? I imagine not, otherwise the pend would wait on the 
> > condition variable with the mutex locked, therefore 
> preventing a post 
> > from occurring...
> 
> It is the same mutex. Condition variables always have a mutex 
> associated with them. When you wait on a CV, the mutex is 
> automatically unlocked by the OS, and when you wake up after 
> the CV is signalled, the OS automatically relocks the mutex 
> before the wait function returns.
> 

Reading that explanation I'm afraid the OSes I use don't have such
condition variables! So making them mandatory for lwIP seems not
such a portable idea to me...


Simon


_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to