diff --git a/src/apps/poorman/PoorManServer.cpp b/src/apps/poorman/PoorManServer.cpp index 0b53dd8104..357e7ace51 100644 --- a/src/apps/poorman/PoorManServer.cpp +++ b/src/apps/poorman/PoorManServer.cpp @@ -8,6 +8,7 @@ #include "PoorManServer.h" +#include #include #include #include @@ -226,6 +227,8 @@ int32 PoorManServer::_Listener(void* data) while (s->fIsRunning) { // Wait for listen4_fd or listen6_fd (or both!) to become ready: retval = poll(fds, nfds, -1); + if (retval == -1 && errno == EINTR) + continue; if (retval < 1) { return -1; // fds no longer available }