Commit 8f284ce0 authored by Howard Chu's avatar Howard Chu Committed by Quanah Gibson-Mount
Browse files

Support double-buffering for threaded slapadd

parent 5405ecce
......@@ -333,6 +333,7 @@ slapadd( int argc, char **argv )
struct berval bvtext;
ldap_pvt_thread_t thr;
ID id;
Entry *prev = NULL;
int ldifrc;
int rc = EXIT_SUCCESS;
......@@ -434,8 +435,11 @@ slapadd( int argc, char **argv )
"(line=%d): %s\n", progname, erec.e->e_dn,
erec.lineno, bvtext.bv_val );
rc = EXIT_FAILURE;
entry_free( erec.e );
if( continuemode ) continue;
if( continuemode ) {
if ( prev ) entry_free( prev );
prev = erec.e;
continue;
}
break;
}
if ( verbose )
......@@ -447,7 +451,8 @@ slapadd( int argc, char **argv )
erec.e->e_dn );
}
entry_free( erec.e );
if ( prev ) entry_free( prev );
prev = erec.e;
}
if ( ldif_threaded ) {
......@@ -458,6 +463,7 @@ slapadd( int argc, char **argv )
ldap_pvt_thread_mutex_unlock( &add_mutex );
ldap_pvt_thread_join( thr, NULL );
}
if ( erec.e ) entry_free( erec.e );
if ( ldifrc < 0 )
rc = EXIT_FAILURE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment