6ffefad6ef
when unmounting the file system in case of a certain timing (and possibly some other conditions), a thread would wait on a condition variable, while another thread broadcast the cv and immediately proceeded to destroy it. The result was a system frozen completely solid shorly after the process waiting for the cv woke up. So introduce reference counting to synchronize destruction of the resources in unmount. I was able to repeat the problem only on my laptop in some special cases, so I do not know how common it was. Ironically, killing the file server process violently instead of unmount() didn't have this problem because it never entered the unmount path from two directions. |
||
---|---|---|
.. | ||
adosfs | ||
cd9660 | ||
filecorefs | ||
hfs | ||
msdosfs | ||
ntfs | ||
ptyfs | ||
puffs | ||
smbfs | ||
sysvbfs | ||
tmpfs | ||
udf | ||
union | ||
Makefile | ||
unicode.h |