struct stconn *scf, *scb;
unsigned int rate;
- DBG_TRACE_ENTER(STRM_EV_STRM_PROC, s);
-
activity[tid].stream_calls++;
stream_cond_update_cpu_latency(s);
+ req = &s->req;
+ res = &s->res;
+
+ scf = s->scf;
+ scb = s->scb;
+
+ DBG_TRACE_ENTER(STRM_EV_STRM_PROC, s);
+
+ /* This flag must explicitly be set every time */
+ req->flags &= ~CF_WAKE_WRITE;
+ res->flags &= ~CF_WAKE_WRITE;
+
+ /* Keep a copy of req/rep flags so that we can detect shutdowns */
+ rqf_last = req->flags & ~CF_MASK_ANALYSER;
+ rpf_last = res->flags & ~CF_MASK_ANALYSER;
+
+ /* we don't want the stream connector functions to recursively wake us up */
+ scf->flags |= SC_FL_DONT_WAKE;
+ scb->flags |= SC_FL_DONT_WAKE;
+
+ /* Keep a copy of SC flags */
+ scf_flags = scf->flags;
+ scb_flags = scb->flags;
+
/* update pending events */
s->pending_events |= stream_map_task_state(state);
s->pending_events |= HA_ATOMIC_XCHG(&s->new_events, STRM_EVT_NONE);
SF_ERR_KILLED));
}
- req = &s->req;
- res = &s->res;
-
- scf = s->scf;
- scb = s->scb;
-
/* First, attempt to receive pending data from I/O layers */
sc_sync_recv(scf);
sc_sync_recv(scb);
if (s->txn)
memset(&s->txn->auth, 0, sizeof(s->txn->auth));
- /* This flag must explicitly be set every time */
- req->flags &= ~CF_WAKE_WRITE;
- res->flags &= ~CF_WAKE_WRITE;
-
- /* Keep a copy of req/rep flags so that we can detect shutdowns */
- rqf_last = req->flags & ~CF_MASK_ANALYSER;
- rpf_last = res->flags & ~CF_MASK_ANALYSER;
-
- /* we don't want the stream connector functions to recursively wake us up */
- scf->flags |= SC_FL_DONT_WAKE;
- scb->flags |= SC_FL_DONT_WAKE;
-
- /* Keep a copy of SC flags */
- scf_flags = scf->flags;
- scb_flags = scb->flags;
-
/* 1a: Check for low level timeouts if needed. We just set a flag on
* stream connectors when their timeouts have expired.
*/