Does the setActiveWriter function above need to grab the critical section?  

...It looks like the call is probably protected by a critical section, but that isn't great encapsulation.