Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv23794
Modified Files: slapi-private.h proto-slap.h schema.c Log Message: Resolves: #436837 Summary: Dynamically reload schema via task interface (comment #15) Description: fixed the broken function declaration.
Index: slapi-private.h =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/slapi-private.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- slapi-private.h 4 Jun 2008 22:22:55 -0000 1.22 +++ slapi-private.h 10 Jun 2008 18:50:07 -0000 1.23 @@ -1084,7 +1084,7 @@
#define DSE_SCHEMA_NO_GLOCK 0x0010 /* don't lock global resources */ #define DSE_SCHEMA_LOCKED 0x0020 /* already locked with - * slapi_load_schemafile_lock; + * reload_schemafile_lock; * no further lock needed */ #define DSE_SCHEMA_USER_DEFINED_ONLY 0x0100 /* refresh user defined schema */
Index: proto-slap.h =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/proto-slap.h,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- proto-slap.h 4 Jun 2008 22:22:55 -0000 1.33 +++ proto-slap.h 10 Jun 2008 18:50:07 -0000 1.34 @@ -857,9 +857,6 @@ /* csn is consumed. */ void g_set_global_schema_csn(CSN *csn); void slapi_schema_expand_objectclasses( Slapi_Entry *e ); -/* lock to protect both objectclass and schema_dse */ -void slapi_load_schemafile_lock( void ); -void slapi_load_schemafile_unlock( void ); /* API to validate the schema files */ int slapi_validate_schema_files(char *schemadir); /* API to reload the schema files */
Index: schema.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/schema.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- schema.c 4 Jun 2008 23:40:57 -0000 1.13 +++ schema.c 10 Jun 2008 18:50:07 -0000 1.14 @@ -2723,7 +2723,7 @@ * DSE_SCHEMA_NO_CHECK -- schema won't be checked * DSE_SCHEMA_NO_GLOCK -- don't lock global resources * DSE_SCHEMA_LOCKED -- already locked with - * slapi_load_schemafile_lock; + * reload_schemafile_lock; * no further lock needed * schema_ds4x_compat: if non-zero, act like Netscape DS 4.x * @@ -3143,8 +3143,8 @@ * DSE_SCHEMA_NO_GLOCK -- locking of global resources is turned off; * this saves time during initialization since * the server operates in single threaded mode - * at that time or in slapi_load_schemafile_lock. - * DSE_SCHEMA_LOCKED -- already locked with slapi_load_schemafile_lock; + * at that time or in reload_schemafile_lock. + * DSE_SCHEMA_LOCKED -- already locked with reload_schemafile_lock; * no further lock needed * * if is_user_defined is true, force attribute type to be user defined. @@ -4897,14 +4897,14 @@
/* lock to protect both objectclass and schema_dse */ static void -slapi_load_schemafile_lock() +reload_schemafile_lock() { oc_lock_write(); schema_dse_lock_write(); }
static void -slapi_load_schemafile_unlock() +reload_schemafile_unlock() { schema_dse_unlock(); oc_unlock(); @@ -4947,7 +4947,7 @@ return LDAP_LOCAL_ERROR; } slapi_be_Wlock(be); /* be lock must be outer of schemafile lock */ - slapi_load_schemafile_lock(); + reload_schemafile_lock(); attr_syntax_delete_all(); oc_delete_all_nolock(); rc = init_schema_dse_ext(schemadir, be, &my_pschemadse, @@ -4955,11 +4955,11 @@ if (rc) { dse_destroy(pschemadse); pschemadse = my_pschemadse; - slapi_load_schemafile_unlock(); + reload_schemafile_unlock(); slapi_be_Unlock(be); return LDAP_SUCCESS; } else { - slapi_load_schemafile_unlock(); + reload_schemafile_unlock(); slapi_be_Unlock(be); slapi_log_error( SLAPI_LOG_FATAL, "schema_reload", "schema file reload failed\n" );
389-commits@lists.fedoraproject.org