MCPcopy Create free account
hub / github.com/F-Stack/f-stack / gtaskqueue_free

Function gtaskqueue_free

freebsd/kern/subr_gtaskqueue.c:172–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172static void __unused
173gtaskqueue_free(struct gtaskqueue *queue)
174{
175
176 TQ_LOCK(queue);
177 queue->tq_flags &= ~TQ_FLAGS_ACTIVE;
178 gtaskqueue_terminate(queue->tq_threads, queue);
179 KASSERT(LIST_EMPTY(&queue->tq_active), ("Tasks still running?"));
180 KASSERT(queue->tq_callouts == 0, ("Armed timeout tasks"));
181 mtx_destroy(&queue->tq_mutex);
182 free(queue->tq_threads, M_GTASKQUEUE);
183 free(queue->tq_name, M_GTASKQUEUE);
184 free(queue, M_GTASKQUEUE);
185}
186
187/*
188 * Wait for all to complete, then prevent it from being enqueued

Callers

nothing calls this directly

Calls 2

gtaskqueue_terminateFunction · 0.85
freeFunction · 0.70

Tested by

no test coverage detected