separate read mutex for each stream type
swigall