server: using select to multiplex clients rather than fork