I/O multiplexing architecture using poll()