handle multiple fds; no thread safety