[Fedora-directory-commits] ldapserver/ldap/servers/slapd/back-ldbm ldbm_add.c, 1.6, 1.7

Nathan Kinder (nkinder) fedora-directory-commits at redhat.com
Mon Oct 1 18:52:37 UTC 2007


Author: nkinder

Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10823

Modified Files:
	ldbm_add.c 
Log Message:
Resolves: 238517
Summary: Add entries to entrycache after adding operational attributes.



Index: ldbm_add.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/ldbm_add.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ldbm_add.c	10 Nov 2006 23:45:39 -0000	1.6
+++ ldbm_add.c	1 Oct 2007 18:52:35 -0000	1.7
@@ -458,13 +458,6 @@
 				slapi_entry_add_string(addingentry->ep_entry, SLAPI_ATTR_VALUE_PARENT_UNIQUEID, operation->o_params.p.p_add.parentuniqueid);
 			}
 		}
-		if ( cache_add_tentative( &inst->inst_cache, addingentry, NULL )!= 0 )
-		{
-			LDAPDebug( LDAP_DEBUG_CACHE, "cache_add_tentative concurrency detected\n", 0, 0, 0 );
-			ldap_result_code= LDAP_ALREADY_EXISTS;
-			goto error_return;
-		}
-		addingentry_in_cache= 1;
 	}
 
 	/*
@@ -537,6 +530,16 @@
 	    add_update_entry_operational_attributes(addingentry, pid);
 	}
 
+	/* Tentatively add the entry to the cache.  We do this after adding any
+	 * operational attributes to ensure that the cache is sized correctly. */
+	if ( cache_add_tentative( &inst->inst_cache, addingentry, NULL )!= 0 )
+	{
+		LDAPDebug( LDAP_DEBUG_CACHE, "cache_add_tentative concurrency detected\n", 0, 0, 0 );
+		ldap_result_code= LDAP_ALREADY_EXISTS;
+		goto error_return;
+	}
+	addingentry_in_cache= 1;
+
 	/*
 	 * Before we add the entry, find out if the syntax of the aci
 	 * aci attribute values are correct or not. We don't want to




More information about the Fedora-directory-commits mailing list