summaryrefslogtreecommitdiffstats
path: root/ldap/servers
diff options
context:
space:
mode:
authorNoriko Hosoi <nhosoi@redhat.com>2007-04-27 18:00:21 +0000
committerNoriko Hosoi <nhosoi@redhat.com>2007-04-27 18:00:21 +0000
commitb6397cbbb06585694f3395505b2bba5b669f9cab (patch)
treefeae775e2d62ef95d33e343546afb1ba9133c63c /ldap/servers
parent88ddde4b61766e7ccfb45bc4f5e6a00f90bb992c (diff)
downloadds-b6397cbbb06585694f3395505b2bba5b669f9cab.tar.gz
ds-b6397cbbb06585694f3395505b2bba5b669f9cab.tar.xz
ds-b6397cbbb06585694f3395505b2bba5b669f9cab.zip
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".
Diffstat (limited to 'ldap/servers')
-rw-r--r--ldap/servers/slapd/connection.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ldap/servers/slapd/connection.c b/ldap/servers/slapd/connection.c
index 8ac98770..21ea36b6 100644
--- a/ldap/servers/slapd/connection.c
+++ b/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(); */
/* 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;
PRIntervalTime timeout = PR_MillisecondsToInterval(CONN_TURBO_TIMEOUT_INTERVAL);
pr_pd.fd = (PRFileDesc *)conn->c_prfd;