]> git.sur5r.net Git - openldap/commitdiff
Tweak prev commit, avoid rescheduling running qtask
authorHoward Chu <hyc@openldap.org>
Sun, 2 Oct 2005 12:28:50 +0000 (12:28 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 2 Oct 2005 12:28:50 +0000 (12:28 +0000)
servers/slapd/overlays/syncprov.c

index 5d639404f3499791003bef287ee80682667af15b..1a863686926142a835d53392014bca47c5888ca2 100644 (file)
@@ -70,6 +70,7 @@ typedef struct syncops {
        struct syncres *s_res;
        struct syncres *s_restail;
        struct re_s     *s_qtask;       /* task for playing psearch responses */
+#define        RUNQ_INTERVAL   36000   /* a long time */
        ldap_pvt_thread_mutex_t s_mutex;
 } syncops;
 
@@ -900,14 +901,14 @@ syncprov_qresp( opcookie *opc, syncops *so, int mode )
        if ( so->s_flags & PS_IS_DETACHED ) {
                ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
                if ( !so->s_qtask ) {
-                       so->s_qtask = ldap_pvt_runqueue_insert( &slapd_rq, 1,
+                       so->s_qtask = ldap_pvt_runqueue_insert( &slapd_rq, RUNQ_INTERVAL,
                                syncprov_qtask, so, "syncprov_qtask",
                                so->s_op->o_conn->c_peer_name.bv_val );
                } else {
                        if (!ldap_pvt_runqueue_isrunning( &slapd_rq, so->s_qtask )) {
                                so->s_qtask->interval.tv_sec = 0;
                                ldap_pvt_runqueue_resched( &slapd_rq, so->s_qtask, 0 );
-                               so->s_qtask->interval.tv_sec = 1;
+                               so->s_qtask->interval.tv_sec = RUNQ_INTERVAL;
                        }
                }
                ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex );