IO::Select is just a thin wrapper around select. accept and select are just thin wrapper around the system calls with the same name. They should return error EINTR when interrupted by a signal (which will only happen if you have a signal handler defined).