Frustrated with the lack of a process-based reader-writer lock in Python, I implemented my own library with support for rwlocks. Its source code currently lives on github and it has a PyPI package as well.
The implementation details are available in this site.