Fix a bug of victim_core_size being used uninitialized without PREALLOCATE_CORE
authorNick Downing <nick@ndcode.org>
Sun, 17 Mar 2019 03:00:27 +0000 (14:00 +1100)
committerNick Downing <nick@ndcode.org>
Sun, 17 Mar 2019 03:24:21 +0000 (14:24 +1100)
process.c

index 9e04ef5..23ca4ab 100644 (file)
--- a/process.c
+++ b/process.c
@@ -245,8 +245,10 @@ static void do_swap_out(int swap_out) {
       victim->lru_item.next->prev = victim->lru_item.prev;
       victim->lru_item.prev = NULL; // indicates not runnable
 
-#ifndef PREALLOCATE_CORE
-      // move per-process to dedicated core item
+      // fully in core, take over only the per-process core item
+#ifdef PREALLOCATE_CORE
+      victim_core_size = victim->size;
+#else
       pool_move_item(&victim->pool_item, &victim_core_item);
       victim_core_size = victim_core_item.limit - victim_core_item.base;
 #endif