MCPcopy Create free account
hub / github.com/apache/trafficserver / process_enabled_list

Method process_enabled_list

src/iocore/net/NetHandler.cc:242–266  ·  view source on GitHub ↗

Move VC's enabled on a different thread to the ready list

Source from the content-addressed store, hash-verified

240// Move VC's enabled on a different thread to the ready list
241//
242void
243NetHandler::process_enabled_list()
244{
245 NetEvent *ne = nullptr;
246
247 SListM(NetEvent, NetState, read, enable_link) rq(read_enable_list.popall());
248 while ((ne = rq.pop())) {
249 ne->ep.modify(EVENTIO_READ);
250 ne->ep.refresh(EVENTIO_READ);
251 ne->read.in_enabled_list = 0;
252 if ((ne->read.enabled && ne->read.triggered) || ne->closed) {
253 read_ready_list.in_or_enqueue(ne);
254 }
255 }
256
257 SListM(NetEvent, NetState, write, enable_link) wq(write_enable_list.popall());
258 while ((ne = wq.pop())) {
259 ne->ep.modify(EVENTIO_WRITE);
260 ne->ep.refresh(EVENTIO_WRITE);
261 ne->write.in_enabled_list = 0;
262 if ((ne->write.enabled && ne->write.triggered) || ne->closed) {
263 write_ready_list.in_or_enqueue(ne);
264 }
265 }
266}
267
268//
269// Walk through the ready list

Callers

nothing calls this directly

Calls 5

popallMethod · 0.80
modifyMethod · 0.80
in_or_enqueueMethod · 0.80
popMethod · 0.45
refreshMethod · 0.45

Tested by

no test coverage detected