]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/result.c
fix ITS#5959 fix
[openldap] / servers / slapd / result.c
index 65b3605d7ca9d6557970040bcc5a72c7dd19fb00..0756260de04ab20c39dbb424b25379e2748c2ef1 100644 (file)
@@ -199,14 +199,12 @@ static long send_ldap_ber(
                    err, sock_errstr(err), 0 );
 
                if ( err != EWOULDBLOCK && err != EAGAIN ) {
+                       conn->c_writers--;
                        ldap_pvt_thread_mutex_unlock( &conn->c_write1_mutex );
                        connection_closing( conn, "connection lost on write" );
 
                        ldap_pvt_thread_mutex_unlock( &conn->c_mutex );
-                       ldap_pvt_thread_mutex_lock( &conn->c_write1_mutex );
-
-                       ret = -1;
-                       break;
+                       return -1;
                }
 
                /* wait for socket to be write-ready */
@@ -1658,9 +1656,9 @@ slap_attr_flags( AttributeName *an )
                flags |= ( SLAP_OPATTRS_NO | SLAP_USERATTRS_YES );
 
        } else {
-               flags |= an_find( an, &AllOper )
+               flags |= an_find( an, slap_bv_all_operational_attrs )
                        ? SLAP_OPATTRS_YES : SLAP_OPATTRS_NO;
-               flags |= an_find( an, &AllUser )
+               flags |= an_find( an, slap_bv_all_user_attrs )
                        ? SLAP_USERATTRS_YES : SLAP_USERATTRS_NO;
        }