}
/* propagate changes */
- thread_isolate();
srv_update_status(s);
- thread_release();
for (srv = s->trackers; srv; srv = srv->tracknext) {
HA_SPIN_LOCK(SERVER_LOCK, &srv->lock);
s->next_state = SRV_ST_RUNNING;
/* propagate changes */
- thread_isolate();
srv_update_status(s);
- thread_release();
for (srv = s->trackers; srv; srv = srv->tracknext) {
HA_SPIN_LOCK(SERVER_LOCK, &srv->lock);
}
/* propagate changes */
- thread_isolate();
srv_update_status(s);
- thread_release();
for (srv = s->trackers; srv; srv = srv->tracknext) {
HA_SPIN_LOCK(SERVER_LOCK, &srv->lock);
strlcpy2(s->adm_st_chg_cause, cause, sizeof(s->adm_st_chg_cause));
/* propagate changes */
- thread_isolate();
srv_update_status(s);
- thread_release();
/* stop going down if the equivalent flag was already present (forced or inherited) */
if (((mode & SRV_ADMF_MAINT) && (s->next_admin & ~mode & SRV_ADMF_MAINT)) ||
s->next_admin &= ~mode;
/* propagate changes */
- thread_isolate();
srv_update_status(s);
- thread_release();
/* stop going down if the equivalent flag is still present (forced or inherited) */
if (((mode & SRV_ADMF_MAINT) && (s->next_admin & SRV_ADMF_MAINT)) ||
sv->next_eweight = (sv->uweight * w + px->lbprm.wmult - 1) / px->lbprm.wmult;
/* propagate changes only if needed (i.e. not recursively) */
- if (must_update) {
- thread_isolate();
+ if (must_update)
srv_update_status(sv);
- thread_release();
- }
}
/*