Browse Source

Resolves: #237731
Summary: Random SASL GSSAPI test failure on shadowfoot (Comment #7)
Changes: If PR_Recv in sasl_recv_connection gets EAGAIN (== errno 11),
check whether it should be retried as being done for "a temporary
non-blocking I/O error".

Noriko Hosoi 18 years ago
parent
commit
b6397cbbb0
1 changed files with 2 additions and 1 deletions
  1. 2 1
      ldap/servers/slapd/connection.c

+ 2 - 1
ldap/servers/slapd/connection.c

@@ -1745,7 +1745,8 @@ int connection_read_operation(Connection *conn, Operation *op, ber_tag_t *tag, i
 			}
 			}
 			/* err = PR_GetError(); */
 			/* err = PR_GetError(); */
 			/* If we would block, we need to poll for a while */
 			/* If we would block, we need to poll for a while */
-			if ( SLAPD_PR_WOULD_BLOCK_ERROR( err ) ) {
+			if ( SLAPD_PR_WOULD_BLOCK_ERROR( err ) ||
+			     SLAPD_SYSTEM_WOULD_BLOCK_ERROR( err ) ) {
 				struct PRPollDesc	pr_pd;
 				struct PRPollDesc	pr_pd;
 				PRIntervalTime	timeout = PR_MillisecondsToInterval(CONN_TURBO_TIMEOUT_INTERVAL);
 				PRIntervalTime	timeout = PR_MillisecondsToInterval(CONN_TURBO_TIMEOUT_INTERVAL);
 				pr_pd.fd = (PRFileDesc *)conn->c_prfd;
 				pr_pd.fd = (PRFileDesc *)conn->c_prfd;