by placing them socket/fd code in separate files rather than trying to have them both share the same one.