I dont see anything that writes (or closes) `f.ExitChan`?  Does this actually ever exit?