/* peer session identified */
if (peer) {
if (appctx->st0 == PEER_SESS_ST_WAITMSG)
- HA_ATOMIC_SUB(&connected_peers, 1);
- HA_ATOMIC_SUB(&active_peers, 1);
+ _HA_ATOMIC_SUB(&connected_peers, 1);
+ _HA_ATOMIC_SUB(&active_peers, 1);
HA_SPIN_LOCK(PEER_LOCK, &peer->lock);
if (peer->appctx == appctx) {
/* Re-init current table pointers to force announcement on re-connect */
curpeer->appctx = appctx;
appctx->ctx.peers.ptr = curpeer;
appctx->st0 = PEER_SESS_ST_SENDSUCCESS;
- HA_ATOMIC_ADD(&active_peers, 1);
+ _HA_ATOMIC_ADD(&active_peers, 1);
/* fall through */
}
case PEER_SESS_ST_SENDSUCCESS: {
init_accepted_peer(curpeer, curpeers);
/* switch to waiting message state */
- HA_ATOMIC_ADD(&connected_peers, 1);
+ _HA_ATOMIC_ADD(&connected_peers, 1);
appctx->st0 = PEER_SESS_ST_WAITMSG;
goto switchstate;
}
appctx->st0 = PEER_SESS_ST_END;
goto switchstate;
}
- HA_ATOMIC_ADD(&connected_peers, 1);
+ _HA_ATOMIC_ADD(&connected_peers, 1);
appctx->st0 = PEER_SESS_ST_WAITMSG;
/* fall through */
}
}
case PEER_SESS_ST_EXIT:
if (prev_state == PEER_SESS_ST_WAITMSG)
- HA_ATOMIC_SUB(&connected_peers, 1);
+ _HA_ATOMIC_SUB(&connected_peers, 1);
prev_state = appctx->st0;
if (peer_send_status_errormsg(appctx) == -1)
goto out;
goto switchstate;
case PEER_SESS_ST_ERRSIZE: {
if (prev_state == PEER_SESS_ST_WAITMSG)
- HA_ATOMIC_SUB(&connected_peers, 1);
+ _HA_ATOMIC_SUB(&connected_peers, 1);
prev_state = appctx->st0;
if (peer_send_error_size_limitmsg(appctx) == -1)
goto out;
}
case PEER_SESS_ST_ERRPROTO: {
if (prev_state == PEER_SESS_ST_WAITMSG)
- HA_ATOMIC_SUB(&connected_peers, 1);
+ _HA_ATOMIC_SUB(&connected_peers, 1);
prev_state = appctx->st0;
if (peer_send_error_protomsg(appctx) == -1)
goto out;
}
case PEER_SESS_ST_END: {
if (prev_state == PEER_SESS_ST_WAITMSG)
- HA_ATOMIC_SUB(&connected_peers, 1);
+ _HA_ATOMIC_SUB(&connected_peers, 1);
prev_state = appctx->st0;
if (curpeer) {
HA_SPIN_UNLOCK(PEER_LOCK, &curpeer->lock);
return;
if (appctx->st0 == PEER_SESS_ST_WAITMSG)
- HA_ATOMIC_SUB(&connected_peers, 1);
+ _HA_ATOMIC_SUB(&connected_peers, 1);
appctx->st0 = PEER_SESS_ST_END;
appctx_wakeup(appctx);
}
peer->appctx = appctx;
task_wakeup(s->task, TASK_WOKEN_INIT);
- HA_ATOMIC_ADD(&active_peers, 1);
+ _HA_ATOMIC_ADD(&active_peers, 1);
return appctx;
/* Error unrolling */
/* We've just received the signal */
if (!(peers->flags & PEERS_F_DONOTSTOP)) {
/* add DO NOT STOP flag if not present */
- HA_ATOMIC_ADD(&jobs, 1);
+ _HA_ATOMIC_ADD(&jobs, 1);
peers->flags |= PEERS_F_DONOTSTOP;
ps = peers->local;
for (st = ps->tables; st ; st = st->next)
if (ps->flags & PEER_F_TEACH_COMPLETE) {
if (peers->flags & PEERS_F_DONOTSTOP) {
/* resync of new process was complete, current process can die now */
- HA_ATOMIC_SUB(&jobs, 1);
+ _HA_ATOMIC_SUB(&jobs, 1);
peers->flags &= ~PEERS_F_DONOTSTOP;
for (st = ps->tables; st ; st = st->next)
st->table->syncing--;
/* Other error cases */
if (peers->flags & PEERS_F_DONOTSTOP) {
/* unable to resync new process, current process can die now */
- HA_ATOMIC_SUB(&jobs, 1);
+ _HA_ATOMIC_SUB(&jobs, 1);
peers->flags &= ~PEERS_F_DONOTSTOP;
for (st = ps->tables; st ; st = st->next)
st->table->syncing--;