Sounds like good ideas. Remember file descriptors are global to a process, so it doesn't matter what function does what, so long as it's the same process. Of course when you fork the child is working with a copy of the file descriptor table, so any changes to that made in the child will not...