MCPcopy Create free account
hub / github.com/creatale/node-dv / ~ThreadData

Method ~ThreadData

deps/opencv/modules/core/src/alloc.cpp:349–377  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

347{
348 ThreadData() { for(int i = 0; i <= MAX_BIN; i++) bins[i][START] = bins[i][FREE] = bins[i][GC] = 0; }
349 ~ThreadData()
350 {
351 // mark all the thread blocks as abandoned or even release them
352 for( int i = 0; i <= MAX_BIN; i++ )
353 {
354 Block *bin = bins[i][START], *block = bin;
355 bins[i][START] = bins[i][FREE] = bins[i][GC] = 0;
356 if( block )
357 {
358 do
359 {
360 Block* next = block->next;
361 int allocated = block->allocated;
362 {
363 AutoLock lock(block->cs);
364 block->next = block->prev = 0;
365 block->threadData = 0;
366 Node *node = block->publicFreeList;
367 for( ; node != 0; node = node->next )
368 allocated--;
369 }
370 if( allocated == 0 )
371 mallocPool.free(block);
372 block = next;
373 }
374 while( block != bin );
375 }
376 }
377 }
378
379 void moveBlockToFreeList( Block* block )
380 {

Callers

nothing calls this directly

Calls 1

freeMethod · 0.45

Tested by

no test coverage detected