From bc37a9fdfa4659b5f3d1339b78e60069e3643e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Mon, 13 Sep 2021 11:58:08 +0100 Subject: [PATCH] ITS#9642 Remove redundant calls to slap_wake_listener() --- contrib/slapd-modules/kinit/kinit.c | 1 - servers/slapd/back-ldap/bind.c | 7 ------- servers/slapd/overlays/refint.c | 6 ------ servers/slapd/syncrepl.c | 2 -- 4 files changed, 16 deletions(-) diff --git a/contrib/slapd-modules/kinit/kinit.c b/contrib/slapd-modules/kinit/kinit.c index ad4adb2984..215a31e2f8 100644 --- a/contrib/slapd-modules/kinit/kinit.c +++ b/contrib/slapd-modules/kinit/kinit.c @@ -191,7 +191,6 @@ kinit_qtask( void *ctx, void *arg ) nextcheck/3600, (nextcheck%3600)/60, nextcheck%60); rtask->interval.tv_sec = nextcheck; ldap_pvt_runqueue_resched( &slapd_rq, rtask, 0 ); - slap_wake_listener(); ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); return NULL; } diff --git a/servers/slapd/back-ldap/bind.c b/servers/slapd/back-ldap/bind.c index c86a253cf2..4de13c164a 100644 --- a/servers/slapd/back-ldap/bind.c +++ b/servers/slapd/back-ldap/bind.c @@ -3178,12 +3178,6 @@ ldap_back_conn_prune( ldapinfo_t *li ) li->li_conn_expire_task->interval.tv_sec = next_timeout - now; ldap_pvt_runqueue_resched( &slapd_rq, li->li_conn_expire_task, 0 ); - /* - * The thread that handles runqueue might have already processed all tasks - * before we insertered new task or rescheduled the existing task with new - * timeout period. Wake it up to ensure that the task will be picked up. - */ - slap_wake_listener(); Debug( LDAP_DEBUG_TRACE, "ldap_back_conn_prune: scheduled connection expiry timer to %ld sec\n", li->li_conn_expire_task->interval.tv_sec ); @@ -3219,7 +3213,6 @@ ldap_back_schedule_conn_expiry( ldapinfo_t *li, ldapconn_t *lc ) { ldap_back_conn_expire_time( li, lc ) - slap_get_time(), ldap_back_conn_expire_fn, li, "ldap_back_conn_expire_fn", "ldap_back_conn_expire_timer" ); - slap_wake_listener(); Debug( LDAP_DEBUG_TRACE, "ldap_back_conn_prune: scheduled connection expiry timer to %ld sec\n", li->li_conn_expire_task->interval.tv_sec ); diff --git a/servers/slapd/overlays/refint.c b/servers/slapd/overlays/refint.c index b74b10e32f..20f9ef1e91 100644 --- a/servers/slapd/overlays/refint.c +++ b/servers/slapd/overlays/refint.c @@ -939,7 +939,6 @@ refint_response( refint_data *id; refint_q *rq; refint_attrs *ip; - int ac; /* If the main op failed or is not a Delete or ModRdn, ignore it */ if (( op->o_tag != LDAP_REQ_DELETE && op->o_tag != LDAP_REQ_MODRDN ) || @@ -971,25 +970,20 @@ refint_response( id->qtail = rq; ldap_pvt_thread_mutex_unlock( &id->qmutex ); - ac = 0; ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex ); if ( !id->qtask ) { id->qtask = ldap_pvt_runqueue_insert( &slapd_rq, RUNQ_INTERVAL, refint_qtask, id, "refint_qtask", op->o_bd->be_suffix[0].bv_val ); - ac = 1; } else { if ( !ldap_pvt_runqueue_isrunning( &slapd_rq, id->qtask ) && !id->qtask->next_sched.tv_sec ) { id->qtask->interval.tv_sec = 0; ldap_pvt_runqueue_resched( &slapd_rq, id->qtask, 0 ); id->qtask->interval.tv_sec = RUNQ_INTERVAL; - ac = 1; } } ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); - if ( ac ) - slap_wake_listener(); return SLAP_CB_CONTINUE; } diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index 47d24bf65d..96d84b4cc0 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2201,7 +2201,6 @@ deleted: } si->si_retrynum[i] = RETRYNUM_TAIL; } - slap_wake_listener(); rc = 0; } else { for ( i = 0; si->si_retrynum && si->si_retrynum[i] <= 0; i++ ) { @@ -2222,7 +2221,6 @@ deleted: fail = si->si_retrynum[i]; rtask->interval.tv_sec = si->si_retryinterval[i]; ldap_pvt_runqueue_resched( &slapd_rq, rtask, 0 ); - slap_wake_listener(); } }