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

Function enqueue

src/tscore/llqueue.cc:101–127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99}
100
101int
102enqueue(LLQ *Q, void *data)
103{
104 LLQrec *new_val;
105
106 ink_mutex_acquire(&(Q->mux));
107 new_val = static_cast<LLQrec *>(ats_malloc(sizeof(LLQrec)));
108 new_val->data = data;
109 new_val->next = nullptr;
110
111 if (Q->tail) {
112 Q->tail->next = new_val;
113 }
114 Q->tail = new_val;
115
116 if (Q->head == nullptr) {
117 Q->head = Q->tail;
118 }
119
120 Q->len++;
121 if (Q->len > Q->highwater) {
122 Q->highwater = Q->len;
123 }
124 ink_mutex_release(&(Q->mux));
125 ink_sem_post(&(Q->sema));
126 return 1;
127}
128
129uint64_t
130queue_len(LLQ *Q)

Callers 3

testfunFunction · 0.85
in_or_enqueueMethod · 0.85
enqueueMethod · 0.85

Calls 4

ink_mutex_acquireFunction · 0.85
ats_mallocFunction · 0.85
ink_mutex_releaseFunction · 0.85
ink_sem_postFunction · 0.85

Tested by

no test coverage detected