plan9fox/sys
cinap_lenrek 3af236b5e3 kernel: fix Mheadache
there was a race between cunmount() and walk() on Mhead.from as Mhead.from was
unconditionally freed when we cunmount(), but findmount might have already
returned the Mhead in walk(). we have to ensure that Mhead.from is not freed
before the Mhead itself (now done in putmhead() once the reference count of the
Mhead drops to zero).

the Mhead struct contained two unused locks, removing.

no need to hold Pgrp.ns lock in closegrp() as nobody can get to it (refcount
droped to zero).

avoid cclose() and freemount() while holding Mhead.lock or Pgrp.ns locks as
it might block on a hung up fileserver.

remove the debug prints...

cleanup: use nil for pointers, remove redundant nil checks before putmhead().
2015-08-09 18:19:47 +02:00
..
doc
games/lib fortunes: go away. 2015-07-22 21:35:50 -04:00
include ape: implement altzone for tzset() 2015-08-04 02:01:41 +02:00
lib rootstub: add spim 2015-08-08 09:20:48 +02:00
man libc: make atoi() not parse c-style octal and hex numbers 2015-08-03 18:10:53 +02:00
src kernel: fix Mheadache 2015-08-09 18:19:47 +02:00