title: What is the Re-entrant lock and concept in general?
body: <p>I always get confused. Would someone explain what <a href="http://en.wikipedia.org/wiki/Reentrant_(subroutine)" rel="noreferrer">Reentrant</a> means in different contexts? And why would you want to use reentrant vs. non-reentrant?</p>
  
  <p>Say pthread (posix) locking primitives, are they re-entrant or not? What pitfalls should be avoided when using them?</p>
  
  <p>Is mutex re-entrant?</p>