]> git.sur5r.net Git - openldap/commitdiff
ITS#2768: configuring slurpd's interval between replog checks
authorKurt Zeilenga <kurt@openldap.org>
Tue, 23 Mar 2004 01:12:11 +0000 (01:12 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 23 Mar 2004 01:12:11 +0000 (01:12 +0000)
based upon a patch submitted by Jason Townsend (Apple).

doc/man/man5/slapd.conf.5
servers/slapd/config.c
servers/slurpd/config.c

index eec4f0187b114aad6a5c82064fd54bb5d98b3dae..ea2e985b11ebf4d27ed104d89fd0424e83eaa03e 100644 (file)
@@ -625,6 +625,11 @@ server's process ID ( see
 .BR getpid (2)
 ) if started without the debugging command line option.
 .TP
+.B replicationinterval
+The number of seconds 
+.B slurpd 
+waits before checking the replogfile for changes.
+.TP
 .B require <conditions>
 Specify a set of conditions (separated by white space) to
 require (default none).
index aa75227507ce88da72c57c6cd3eca6cf2f242d99..03ed198d51a2917fd77dd7b939653eda5c0c3130 100644 (file)
@@ -1979,6 +1979,9 @@ read_config( const char *fname, int depth )
                                }
                        }
 
+               } else if ( strcasecmp( cargv[0], "replicationInterval" ) == 0 ) {
+                       /* ignore */
+
                /* dn of slave entity allowed to write to replica */
                } else if ( strcasecmp( cargv[0], "updatedn" ) == 0 ) {
                        if ( cargc < 2 ) {
index ffd08740ee1b3b63a749624969307d1a4f39027a..9e88115c1dd4053f44de9582224fecfe1aef9a9f 100644 (file)
@@ -213,7 +213,39 @@ slurpd_read_config(
 
                LUTIL_SLASHPATH( cargv[1] );
                slurpd_args_file = ch_strdup( cargv[1] );
-       }
+
+               } else if ( strcasecmp( cargv[0], "replicationinterval" ) == 0 ) {
+                       int c;
+                       if ( cargc < 2 ) {
+#ifdef NEW_LOGGING
+                               LDAP_LOG( CONFIG, CRIT, "%s: %d: missing interval in "
+                                       "\"replicationinterval <seconds>\" line.\n",
+                                       fname, lineno, 0 );
+#else
+                               Debug( LDAP_DEBUG_ANY, "%s: line %d: missing interval in "
+                                       "\"replicationinterval <seconds>\" line\n",
+                                       fname, lineno, 0 );
+#endif
+                               return( 1 );
+                       }
+
+                       c = atoi( cargv[1] );
+                       if( c < 1 ) {
+#ifdef NEW_LOGGING
+                               LDAP_LOG( CONFIG, CRIT, "%s: line %d: invalid interval "
+                                       "(%d) in \"replicationinterval <seconds>\" line\n",
+                                       fname, lineno, c );
+#else
+                               Debug( LDAP_DEBUG_ANY, "%s: line %d: invalid interval "
+                                       "(%d) in \"replicationinterval <seconds>\" line\n",
+                                       fname, lineno, c );
+#endif
+
+                               return( 1 );
+                       }
+
+                       sglob->no_work_interval = c;
+               }
     }
     fclose( fp );
 #ifdef NEW_LOGGING