Diff for /servers/slapd/overlays/syncprov.c between versions 1.110 and 1.111

version 1.110, 2005/10/02 10:26:02 version 1.111, 2005/10/02 10:28:50
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.109 2005/10/02 08:48:28 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.110 2005/10/02 10:26:02 hyc Exp $ */
 /* syncprov.c - syncrepl provider */  /* syncprov.c - syncrepl provider */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
Line 70  typedef struct syncops { Line 70  typedef struct syncops {
         struct syncres *s_res;          struct syncres *s_res;
         struct syncres *s_restail;          struct syncres *s_restail;
         struct re_s     *s_qtask;       /* task for playing psearch responses */          struct re_s     *s_qtask;       /* task for playing psearch responses */
   #define RUNQ_INTERVAL   36000   /* a long time */
         ldap_pvt_thread_mutex_t s_mutex;          ldap_pvt_thread_mutex_t s_mutex;
 } syncops;  } syncops;
   
Line 900  syncprov_qresp( opcookie *opc, syncops * Line 901  syncprov_qresp( opcookie *opc, syncops *
         if ( so->s_flags & PS_IS_DETACHED ) {          if ( so->s_flags & PS_IS_DETACHED ) {
                 ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );                  ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
                 if ( !so->s_qtask ) {                  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",                                  syncprov_qtask, so, "syncprov_qtask",
                                 so->s_op->o_conn->c_peer_name.bv_val );                                  so->s_op->o_conn->c_peer_name.bv_val );
                 } else {                  } else {
                         if (!ldap_pvt_runqueue_isrunning( &slapd_rq, so->s_qtask )) {                          if (!ldap_pvt_runqueue_isrunning( &slapd_rq, so->s_qtask )) {
                                 so->s_qtask->interval.tv_sec = 0;                                  so->s_qtask->interval.tv_sec = 0;
                                 ldap_pvt_runqueue_resched( &slapd_rq, so->s_qtask, 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 );                  ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex );

Removed from v.1.110  
changed lines
  Added in v.1.111


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org