- if (( cc = select( FD_SETSIZE, &fds, 0, 0, &tv )) < 0 ) {
- syslog( LOG_ERR, "select: %m" );
- return( -1 );
+ do { /* do list until success or an unrecoverable error occurs */
+ if (( cc = select( FD_SETSIZE, &fds, 0, 0, &tv )) < 0 )
+ LOG(log_error, logtype_papd, "select: %m" ); /* log all errors */
+ } while (( cc < 0 ) && (errno == 4));
+
+ if ( cc < 0 ) {
+ LOG(log_error, logtype_papd, "select: Error is unrecoverable" );
+ return( -1 );