Fix prev commit, no recursion allowed in glue_sub_attach

This commit is contained in:
Howard Chu 2009-02-05 22:59:02 +00:00
parent 84374348e5
commit 044b646445

View File

@ -949,6 +949,7 @@ typedef struct glue_Addrec {
/* List of added subordinates */
static glue_Addrec *ga_list;
static int ga_adding;
static int
glue_db_init(
@ -1087,6 +1088,11 @@ glue_sub_attach( int online )
glue_Addrec *ga, *gnext = NULL;
int rc = 0;
if ( ga_adding )
return 0;
ga_adding = 1;
/* For all the subordinate backends */
for ( ga=ga_list; ga != NULL; ga = gnext ) {
BackendDB *be;
@ -1135,8 +1141,11 @@ glue_sub_attach( int online )
/* allow this for now, assume a superior will
* be added later
*/
if ( online )
return 0;
if ( online ) {
rc = 0;
gnext = ga_list;
break;
}
rc = LDAP_NO_SUCH_OBJECT;
}
ch_free( ga );
@ -1145,6 +1154,8 @@ glue_sub_attach( int online )
ga_list = gnext;
ga_adding = 0;
return rc;
}