MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / activeDefragQuickListNode

Function activeDefragQuickListNode

src/defrag.cpp:427–446  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

425}
426
427long activeDefragQuickListNode(quicklist *ql, quicklistNode **node_ref) {
428 quicklistNode *newnode, *node = *node_ref;
429 long defragged = 0;
430 unsigned char *newzl;
431 if ((newnode = (quicklistNode*)activeDefragAlloc(node))) {
432 if (newnode->prev)
433 newnode->prev->next = newnode;
434 else
435 ql->head = newnode;
436 if (newnode->next)
437 newnode->next->prev = newnode;
438 else
439 ql->tail = newnode;
440 *node_ref = node = newnode;
441 defragged++;
442 }
443 if ((newzl = (unsigned char*)activeDefragAlloc(node->zl)))
444 defragged++, node->zl = newzl;
445 return defragged;
446}
447
448long activeDefragQuickListNodes(quicklist *ql) {
449 quicklistNode *node = ql->head;

Callers 2

scanLaterListFunction · 0.85

Calls 1

activeDefragAllocFunction · 0.85

Tested by

no test coverage detected