Initialize the rwlock in struct pgrp
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 1 Oct 2015 01:20:17 +0000 (21:20 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 8 Oct 2015 14:29:57 +0000 (10:29 -0400)
commit872327a92da817680e8e6e8f9645a9b1af04e6b5
tree21ed0e864404ff9896cbf5ba5a1bdae0a41c9bb5
parentcfb02bd7818d18b44e56056a394cde860b628965
Initialize the rwlock in struct pgrp

This escaped our notice for a while, since the reader CV is only used
when there is a writer.  That requires some R/W contention on the lock.

The way this popped up was if you did two ifconfigs back to back.
ifconfig does some mounting and cs removes old #srv/cs files.  Some
combination of these led to a writer mucking with the NS while another
thread was calling findmount.  The concurrent threads was a critical
part, and things like printks could throw it all off.  Good times.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/ns/pgrp.c