mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 08:09:34 -05:00
Server timing as a private feature of the bdb2 backend.
This commit is contained in:
parent
6e63b58a3e
commit
2cf83d84ee
22 changed files with 305 additions and 397 deletions
|
|
@ -27,27 +27,18 @@ bdb2i_back_abandon_internal(
|
||||||
int
|
int
|
||||||
bdb2_back_abandon(
|
bdb2_back_abandon(
|
||||||
BackendDB *be,
|
BackendDB *be,
|
||||||
Connection *c,
|
Connection *conn,
|
||||||
Operation *o,
|
Operation *op,
|
||||||
int msgid )
|
int msgid )
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_abandon_internal( be, c, o, msgid );
|
ret = bdb2i_back_abandon_internal( be, conn, op, msgid );
|
||||||
|
|
||||||
if ( bdb2i_do_timing ) {
|
bdb2i_stop_timing( be->be_private, time1, "ABND", conn, op );
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "ABND elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -236,12 +236,10 @@ bdb2_back_add(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -252,22 +250,17 @@ bdb2_back_add(
|
||||||
|
|
||||||
/* check, if a new default attribute index will be created,
|
/* check, if a new default attribute index will be created,
|
||||||
in which case we have to open the index file BEFORE TP */
|
in which case we have to open the index file BEFORE TP */
|
||||||
if ( ( slapMode == SLAP_SERVER_MODE ) || ( slapMode == SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
bdb2i_check_default_attr_index_add( li, e );
|
bdb2i_check_default_attr_index_add( li, e );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ret = bdb2i_back_add_internal( be, conn, op, e );
|
ret = bdb2i_back_add_internal( be, conn, op, e );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "ADD", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d ADD elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -160,12 +160,15 @@ typedef struct _bdb2_txn_head {
|
||||||
struct ldbtype {
|
struct ldbtype {
|
||||||
char *lty_dbhome;
|
char *lty_dbhome;
|
||||||
size_t lty_mpsize;
|
size_t lty_mpsize;
|
||||||
|
int lty_betiming;
|
||||||
|
|
||||||
/* XXX do we need a private DB_ENV for all DB2 backend types ? */
|
/* XXX do we need a private DB_ENV for all DB2 backend types ? */
|
||||||
DB_ENV *lty_dbenv;
|
DB_ENV *lty_dbenv;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define get_dbenv(be) ((struct ldbtype *) (be)->bd_info->bi_private)->lty_dbenv
|
#define get_dbenv(be) ((struct ldbtype *) (be)->bd_info->bi_private)->lty_dbenv
|
||||||
|
#define with_timing(bi) (((struct ldbtype *) \
|
||||||
|
(bi)->bi_private)->lty_betiming == 1)
|
||||||
|
|
||||||
|
|
||||||
/* the private description of a database */
|
/* the private description of a database */
|
||||||
|
|
|
||||||
|
|
@ -228,12 +228,10 @@ bdb2_back_bind(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -246,15 +244,7 @@ bdb2_back_bind(
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
|
||||||
if ( bdb2i_do_timing ) {
|
bdb2i_stop_timing( be->be_private, time1, "BIND", conn, op );
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d BIND elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,23 +29,14 @@ bdb2i_back_db_close_internal( BackendDB *be )
|
||||||
int
|
int
|
||||||
bdb2_back_db_close( BackendDB *be )
|
bdb2_back_db_close( BackendDB *be )
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_db_close_internal( be );
|
ret = bdb2i_back_db_close_internal( be );
|
||||||
|
|
||||||
if ( bdb2i_do_timing ) {
|
bdb2i_stop_timing( be->be_private, time1, "CLOSE", NULL, NULL );
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "CLOSE elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,12 +73,10 @@ bdb2_back_compare(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -88,18 +86,8 @@ bdb2_back_compare(
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bdb2i_back_compare_internal( be, conn, op, dn, ava );
|
ret = bdb2i_back_compare_internal( be, conn, op, dn, ava );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "CMP", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d CMP elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,23 +70,13 @@ bdb2_back_config(
|
||||||
char **argv
|
char **argv
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( bi, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_config_internal( bi, fname, lineno, argc, argv );
|
ret = bdb2i_back_config_internal( bi, fname, lineno, argc, argv );
|
||||||
|
bdb2i_stop_timing( bi, time1, "BE-CONFIG", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "BE-CONFIG elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
@ -196,23 +186,14 @@ bdb2_back_db_config(
|
||||||
char **argv
|
char **argv
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_db_config_internal( be, fname, lineno, argc, argv );
|
ret = bdb2i_back_db_config_internal( be, fname, lineno, argc, argv );
|
||||||
|
|
||||||
if ( bdb2i_do_timing ) {
|
bdb2i_stop_timing( be->be_private, time1, "DB-CONFIG", NULL, NULL );
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "DB-CONFIG elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,12 @@ bdb2i_cache_open(
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
/* all files are open, so return handle from file cache */
|
/* all files are open, so return handle from file cache */
|
||||||
if ( ( slapMode == SLAP_SERVER_MODE ) || ( slapMode == SLAP_TOOL_MODE ) ) {
|
switch ( slapMode ) {
|
||||||
|
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
|
{
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
char buf[MAXPATHLEN];
|
char buf[MAXPATHLEN];
|
||||||
|
|
||||||
|
|
@ -37,65 +42,77 @@ bdb2i_cache_open(
|
||||||
return( bdb2i_get_db_file_cache( li, buf ));
|
return( bdb2i_get_db_file_cache( li, buf ));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
/* if not SERVER or TOOL, who else would ask?
|
/* if not SERVER or TOOL, who else would ask?
|
||||||
NO ONE, so return error */
|
NO ONE, so return error */
|
||||||
|
|
||||||
Debug( LDAP_DEBUG_ANY,
|
Debug( LDAP_DEBUG_ANY,
|
||||||
"bdb2i_cache_open: database user (%d) unknown -- cannot open \"%s%s\".\n",
|
"bdb2i_cache_open: database user (%d) unknown -- cannot open \"%s%s\".\n",
|
||||||
slapMode, name, suffix );
|
slapMode, name, suffix );
|
||||||
|
|
||||||
return( NULL );
|
return( NULL );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
bdb2i_cache_close( BackendDB *be, struct dbcache *db )
|
bdb2i_cache_close( BackendDB *be, struct dbcache *db )
|
||||||
{
|
{
|
||||||
/* all files stay open until SERVER or TOOL shut down */
|
/* all files stay open until SERVER or TOOL shut down */
|
||||||
if ( ( slapMode == SLAP_SERVER_MODE ) || ( slapMode == SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
|
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
/* if unknown user, complain */
|
/* if unknown user, complain */
|
||||||
Debug( LDAP_DEBUG_ANY,
|
Debug( LDAP_DEBUG_ANY,
|
||||||
"bdb2i_cache_close: database user (%d) unknown -- ignored.\n",
|
"bdb2i_cache_close: database user (%d) unknown -- ignored.\n",
|
||||||
slapMode, 0, 0 );
|
slapMode, 0, 0 );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
bdb2i_cache_really_close( BackendDB *be, struct dbcache *db )
|
bdb2i_cache_really_close( BackendDB *be, struct dbcache *db )
|
||||||
{
|
{
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
|
||||||
|
|
||||||
/* all files stay open until SERVER or TOOL shut down */
|
/* all files stay open until SERVER or TOOL shut down */
|
||||||
if ( ( slapMode == SLAP_SERVER_MODE ) || ( slapMode == SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
|
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
/* if unknown user, complain */
|
/* if unknown user, complain */
|
||||||
Debug( LDAP_DEBUG_ANY,
|
Debug( LDAP_DEBUG_ANY,
|
||||||
"bdb2i_cache_really_close: database user (%d) unknown -- ignored.\n",
|
"bdb2i_cache_really_close: database user (%d) unknown -- ignored.\n",
|
||||||
slapMode, 0, 0 );
|
slapMode, 0, 0 );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
bdb2i_cache_flush_all( BackendDB *be )
|
bdb2i_cache_flush_all( BackendDB *be )
|
||||||
{
|
{
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/* if SERVER or TOOL, syncing is done by TP, or during shutdown */
|
/* if SERVER or TOOL, syncing is done by TP, or during shutdown */
|
||||||
if ( ( slapMode == SLAP_SERVER_MODE ) || ( slapMode == SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
|
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
/* if unknown user, complain */
|
/* if unknown user, complain */
|
||||||
Debug( LDAP_DEBUG_ANY,
|
Debug( LDAP_DEBUG_ANY,
|
||||||
"bdb2i_cache_really_close: database user (%d) unknown -- ignored.\n",
|
"bdb2i_cache_flush_all: database user (%d) unknown -- ignored.\n",
|
||||||
slapMode, 0, 0 );
|
slapMode, 0, 0 );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Datum
|
Datum
|
||||||
|
|
|
||||||
|
|
@ -160,12 +160,10 @@ bdb2_back_delete(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -175,18 +173,8 @@ bdb2_back_delete(
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bdb2i_back_delete_internal( be, conn, op, dn );
|
ret = bdb2i_back_delete_internal( be, conn, op, dn );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "DEL", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d DEL elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -136,12 +136,10 @@ bdb2_back_group(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -153,16 +151,7 @@ bdb2_back_group(
|
||||||
objectclassValue, groupattrName );
|
objectclassValue, groupattrName );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "GRP", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "GRP elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,9 @@ bdb2i_back_init_private(
|
||||||
bt->lty_mpsize = DEFAULT_DBCACHE_SIZE;
|
bt->lty_mpsize = DEFAULT_DBCACHE_SIZE;
|
||||||
bt->lty_dbenv = &ldbm_Env;
|
bt->lty_dbenv = &ldbm_Env;
|
||||||
|
|
||||||
|
if ( slapMode == SLAP_TIMEDSERVER_MODE )
|
||||||
|
bt->lty_betiming = 1;
|
||||||
|
|
||||||
bi->bi_private = bt;
|
bi->bi_private = bt;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -192,23 +195,13 @@ bdb2_back_db_init(
|
||||||
BackendDB *be
|
BackendDB *be
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_db_init_internal( be );
|
ret = bdb2i_back_db_init_internal( be );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "DB-INIT", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "DB-INIT elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,12 +126,10 @@ bdb2_back_modify(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -142,22 +140,17 @@ bdb2_back_modify(
|
||||||
|
|
||||||
/* check, if a new default attribute index will be created,
|
/* check, if a new default attribute index will be created,
|
||||||
in which case we have to open the index file BEFORE TP */
|
in which case we have to open the index file BEFORE TP */
|
||||||
if ( ( slapMode == SLAP_SERVER_MODE ) || ( slapMode == SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
bdb2i_check_default_attr_index_mod( li, modlist );
|
bdb2i_check_default_attr_index_mod( li, modlist );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ret = bdb2i_back_modify_internal( be, conn, op, dn, modlist );
|
ret = bdb2i_back_modify_internal( be, conn, op, dn, modlist );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "MOD", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d MOD elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -203,12 +203,10 @@ bdb2_back_modrdn(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_w( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -221,16 +219,7 @@ bdb2_back_modrdn(
|
||||||
newrdn, deleteoldrdn );
|
newrdn, deleteoldrdn );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "MODRDN", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d MODRDN elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,13 @@ bdb2i_enter_backend( DB_ENV *dbEnv, DB_LOCK *lock, int writer )
|
||||||
u_int32_t locker;
|
u_int32_t locker;
|
||||||
db_lockmode_t lock_type;
|
db_lockmode_t lock_type;
|
||||||
DBT lock_dbt;
|
DBT lock_dbt;
|
||||||
int ret;
|
int ret = 0;
|
||||||
|
|
||||||
if ( ( slapMode != SLAP_SERVER_MODE ) && ( slapMode != SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
return( 0 );
|
|
||||||
|
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
if ( ( ret = lock_id( dbEnv->lk_info, &locker )) != 0 ) {
|
if ( ( ret = lock_id( dbEnv->lk_info, &locker )) != 0 ) {
|
||||||
|
|
||||||
Debug( LDAP_DEBUG_ANY,
|
Debug( LDAP_DEBUG_ANY,
|
||||||
|
|
@ -41,7 +43,8 @@ bdb2i_enter_backend( DB_ENV *dbEnv, DB_LOCK *lock, int writer )
|
||||||
lock_type, lock ))) {
|
lock_type, lock ))) {
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
Debug( LDAP_DEBUG_TRACE, "bdb2i_enter_backend() -- %s lock granted\n",
|
Debug( LDAP_DEBUG_TRACE,
|
||||||
|
"bdb2i_enter_backend() -- %s lock granted\n",
|
||||||
writer ? "write" : "read", 0, 0 );
|
writer ? "write" : "read", 0, 0 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -65,6 +68,8 @@ bdb2i_enter_backend( DB_ENV *dbEnv, DB_LOCK *lock, int writer )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
@ -87,15 +92,18 @@ bdb2i_enter_backend_w( DB_ENV *dbEnv, DB_LOCK *lock )
|
||||||
int
|
int
|
||||||
bdb2i_leave_backend( DB_ENV *dbEnv, DB_LOCK lock )
|
bdb2i_leave_backend( DB_ENV *dbEnv, DB_LOCK lock )
|
||||||
{
|
{
|
||||||
int ret;
|
int ret = 0;
|
||||||
|
|
||||||
if ( ( slapMode != SLAP_SERVER_MODE ) && ( slapMode != SLAP_TOOL_MODE ) )
|
switch ( slapMode ) {
|
||||||
return( 0 );
|
|
||||||
|
|
||||||
|
case SLAP_SERVER_MODE:
|
||||||
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
case SLAP_TOOL_MODE:
|
||||||
switch( ( ret = lock_put( dbEnv->lk_info, lock ))) {
|
switch( ( ret = lock_put( dbEnv->lk_info, lock ))) {
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
Debug( LDAP_DEBUG_TRACE, "bdb2i_leave_backend() -- lock released\n",
|
Debug( LDAP_DEBUG_TRACE,
|
||||||
|
"bdb2i_leave_backend() -- lock released\n",
|
||||||
0, 0, 0 );
|
0, 0, 0 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -119,6 +127,8 @@ bdb2i_leave_backend( DB_ENV *dbEnv, DB_LOCK lock )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,9 @@ int bdb2i_back_db_shutdown LDAP_P(( BackendDB *be ));
|
||||||
|
|
||||||
char *bdb2i_elapsed LDAP_P(( struct timeval firsttime,
|
char *bdb2i_elapsed LDAP_P(( struct timeval firsttime,
|
||||||
struct timeval secondtime ));
|
struct timeval secondtime ));
|
||||||
|
void bdb2i_start_timing LDAP_P(( BackendInfo *bi, struct timeval *time1 ));
|
||||||
|
void bdb2i_stop_timing LDAP_P(( BackendInfo *bi, struct timeval time1,
|
||||||
|
char *func, Connection *conn, Operation *op ));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* porter.c
|
* porter.c
|
||||||
|
|
|
||||||
|
|
@ -332,12 +332,10 @@ bdb2_back_search(
|
||||||
{
|
{
|
||||||
DB_LOCK lock;
|
DB_LOCK lock;
|
||||||
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
|
||||||
|
struct timeval time1;
|
||||||
struct timeval time1, time2;
|
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
if ( bdb2i_enter_backend_r( get_dbenv( be ), &lock ) != 0 ) {
|
||||||
|
|
||||||
|
|
@ -350,16 +348,7 @@ bdb2_back_search(
|
||||||
slimit, tlimit, filter, filterstr, attrs, attrsonly );
|
slimit, tlimit, filter, filterstr, attrs, attrsonly );
|
||||||
|
|
||||||
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
(void) bdb2i_leave_backend( get_dbenv( be ), lock );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "SRCH", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d SRCH elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,23 +112,13 @@ bdb2i_back_startup(
|
||||||
BackendInfo *bi
|
BackendInfo *bi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( bi, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_startup_internal( bi );
|
ret = bdb2i_back_startup_internal( bi );
|
||||||
|
bdb2i_stop_timing( bi, time1, "BE-START", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "BE-START elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
@ -139,23 +129,13 @@ bdb2i_back_shutdown(
|
||||||
BackendInfo *bi
|
BackendInfo *bi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( bi, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_shutdown_internal( bi );
|
ret = bdb2i_back_shutdown_internal( bi );
|
||||||
|
bdb2i_stop_timing( bi, time1, "BE-SHUTDOWN", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "BE-SHUTDOWN elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
@ -208,23 +188,13 @@ bdb2_back_db_startup(
|
||||||
BackendDB *be
|
BackendDB *be
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_db_startup_internal( be );
|
ret = bdb2i_back_db_startup_internal( be );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "DB-START", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "DB-START elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
@ -235,23 +205,13 @@ bdb2_back_db_shutdown(
|
||||||
BackendDB *be
|
BackendDB *be
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_db_shutdown_internal( be );
|
ret = bdb2i_back_db_shutdown_internal( be );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "DB-SHUTDOWN", NULL, NULL );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "DB-SHUTDOWN elapsed=%s\n",
|
|
||||||
elapsed_time, 0, 0 );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,6 @@
|
||||||
#include "back-bdb2.h"
|
#include "back-bdb2.h"
|
||||||
|
|
||||||
|
|
||||||
int bdb2i_do_timing = 0;
|
|
||||||
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
bdb2i_elapsed( struct timeval firsttime, struct timeval secondtime )
|
bdb2i_elapsed( struct timeval firsttime, struct timeval secondtime )
|
||||||
{
|
{
|
||||||
|
|
@ -33,3 +30,43 @@ bdb2i_elapsed( struct timeval firsttime, struct timeval secondtime )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
bdb2i_start_timing(
|
||||||
|
BackendInfo *bi,
|
||||||
|
struct timeval *time1
|
||||||
|
)
|
||||||
|
{
|
||||||
|
if ( with_timing( bi )) gettimeofday( time1, NULL );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
bdb2i_stop_timing(
|
||||||
|
BackendInfo *bi,
|
||||||
|
struct timeval time1,
|
||||||
|
char *func,
|
||||||
|
Connection *conn,
|
||||||
|
Operation *op
|
||||||
|
)
|
||||||
|
{
|
||||||
|
if ( with_timing( bi )) {
|
||||||
|
struct timeval time2;
|
||||||
|
char *elapsed_time;
|
||||||
|
char buf[BUFSIZ];
|
||||||
|
|
||||||
|
*buf = '\0';
|
||||||
|
|
||||||
|
gettimeofday( &time2, NULL);
|
||||||
|
elapsed_time = bdb2i_elapsed( time1, time2 );
|
||||||
|
|
||||||
|
if ( conn != NULL ) sprintf( buf, "conn=%d ", conn->c_connid );
|
||||||
|
if ( op != NULL ) sprintf( buf, "%sop=%d ", buf, op->o_opid );
|
||||||
|
|
||||||
|
Debug( LDAP_DEBUG_ANY, "%s%s elapsed=%s\n", buf, func, elapsed_time );
|
||||||
|
|
||||||
|
free( elapsed_time );
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,23 +26,13 @@ bdb2_back_unbind(
|
||||||
Operation *op
|
Operation *op
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
struct timeval time1, time2;
|
struct timeval time1;
|
||||||
char *elapsed_time;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gettimeofday( &time1, NULL );
|
bdb2i_start_timing( be->be_private, &time1 );
|
||||||
|
|
||||||
ret = bdb2i_back_unbind_internal( be, conn, op );
|
ret = bdb2i_back_unbind_internal( be, conn, op );
|
||||||
|
bdb2i_stop_timing( be->be_private, time1, "UNBIND", conn, op );
|
||||||
if ( bdb2i_do_timing ) {
|
|
||||||
|
|
||||||
gettimeofday( &time2, NULL);
|
|
||||||
elapsed_time = bdb2i_elapsed( time1, time2 );
|
|
||||||
Debug( LDAP_DEBUG_ANY, "conn=%d op=%d UNBIND elapsed=%s\n",
|
|
||||||
conn->c_connid, op->o_opid, elapsed_time );
|
|
||||||
free( elapsed_time );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,18 +78,17 @@ slap_init( int mode, char *name )
|
||||||
|
|
||||||
slapMode = mode;
|
slapMode = mode;
|
||||||
|
|
||||||
if( ( slapMode != SLAP_SERVER_MODE ) && ( slapMode != SLAP_TOOL_MODE ) ) {
|
switch ( slapMode ) {
|
||||||
Debug( LDAP_DEBUG_ANY,
|
|
||||||
"%s init: undefined mode (%d).\n",
|
case SLAP_SERVER_MODE:
|
||||||
name, mode, 0 );
|
case SLAP_TOOL_MODE:
|
||||||
return 1;
|
#ifdef SLAPD_BDB2
|
||||||
}
|
case SLAP_TIMEDSERVER_MODE:
|
||||||
|
#endif
|
||||||
|
|
||||||
Debug( LDAP_DEBUG_TRACE,
|
Debug( LDAP_DEBUG_TRACE,
|
||||||
"%s init: initiated %s.\n",
|
"%s init: initiated %s.\n",
|
||||||
name,
|
name, mode == SLAP_TOOL_MODE ? "tool" : "server", 0 );
|
||||||
mode == SLAP_SERVER_MODE ? "server" : "tool",
|
|
||||||
0 );
|
|
||||||
|
|
||||||
slap_name = name;
|
slap_name = name;
|
||||||
|
|
||||||
|
|
@ -109,6 +108,14 @@ slap_init( int mode, char *name )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rc = backend_init();
|
rc = backend_init();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
Debug( LDAP_DEBUG_ANY,
|
||||||
|
"%s init: undefined mode (%d).\n", name, mode, 0 );
|
||||||
|
rc = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,13 +69,18 @@ main( int argc, char **argv )
|
||||||
#endif
|
#endif
|
||||||
char *configfile;
|
char *configfile;
|
||||||
char *serverName;
|
char *serverName;
|
||||||
|
int serverMode = SLAP_SERVER_MODE;
|
||||||
|
|
||||||
configfile = SLAPD_DEFAULT_CONFIGFILE;
|
configfile = SLAPD_DEFAULT_CONFIGFILE;
|
||||||
port = LDAP_PORT;
|
port = LDAP_PORT;
|
||||||
g_argc = argc;
|
g_argc = argc;
|
||||||
g_argv = argv;
|
g_argv = argv;
|
||||||
|
|
||||||
|
#ifdef SLAPD_BDB2
|
||||||
|
while ( (i = getopt( argc, argv, "d:f:ip:s:ut" )) != EOF ) {
|
||||||
|
#else
|
||||||
while ( (i = getopt( argc, argv, "d:f:ip:s:u" )) != EOF ) {
|
while ( (i = getopt( argc, argv, "d:f:ip:s:u" )) != EOF ) {
|
||||||
|
#endif
|
||||||
switch ( i ) {
|
switch ( i ) {
|
||||||
#ifdef LDAP_DEBUG
|
#ifdef LDAP_DEBUG
|
||||||
case 'd': /* turn on debugging */
|
case 'd': /* turn on debugging */
|
||||||
|
|
@ -148,6 +153,12 @@ main( int argc, char **argv )
|
||||||
udp = 1;
|
udp = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef SLAPD_BDB2
|
||||||
|
case 't': /* timed server */
|
||||||
|
serverMode = SLAP_TIMEDSERVER_MODE;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
usage( argv[0] );
|
usage( argv[0] );
|
||||||
exit( 1 );
|
exit( 1 );
|
||||||
|
|
@ -172,11 +183,7 @@ main( int argc, char **argv )
|
||||||
openlog( serverName, OPENLOG_OPTIONS );
|
openlog( serverName, OPENLOG_OPTIONS );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SLAPD_BDB2
|
if ( slap_init( serverMode, serverName ) != 0 ) {
|
||||||
bdb2i_do_timing = 1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( slap_init( SLAP_SERVER_MODE, serverName ) != 0 ) {
|
|
||||||
rc = 1;
|
rc = 1;
|
||||||
goto destroy;
|
goto destroy;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,10 +22,6 @@
|
||||||
#define ldap_debug slap_debug
|
#define ldap_debug slap_debug
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SLAPD_BDB2
|
|
||||||
extern int bdb2i_do_timing;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include "ldap_log.h"
|
#include "ldap_log.h"
|
||||||
|
|
||||||
|
|
@ -234,6 +230,9 @@ extern int slapMode;
|
||||||
#define SLAP_UNDEFINED_MODE 0
|
#define SLAP_UNDEFINED_MODE 0
|
||||||
#define SLAP_SERVER_MODE 1
|
#define SLAP_SERVER_MODE 1
|
||||||
#define SLAP_TOOL_MODE 2
|
#define SLAP_TOOL_MODE 2
|
||||||
|
#ifdef SLAPD_BDB2
|
||||||
|
# define SLAP_TIMEDSERVER_MODE 3
|
||||||
|
#endif
|
||||||
|
|
||||||
/* temporary aliases */
|
/* temporary aliases */
|
||||||
typedef BackendDB Backend;
|
typedef BackendDB Backend;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue