… | |
… | |
141 | * objects with lists are rare, and lists stay short. If not, use a |
141 | * objects with lists are rare, and lists stay short. If not, use a |
142 | * different structure or at least keep the lists sorted... |
142 | * different structure or at least keep the lists sorted... |
143 | */ |
143 | */ |
144 | |
144 | |
145 | /* For each field in wants, */ |
145 | /* For each field in wants, */ |
146 | for (wants_field = wants->key_values; wants_field != NULL; wants_field = wants_field->next) |
146 | for (wants_field = wants->key_values; wants_field; wants_field = wants_field->next) |
147 | { |
147 | { |
148 | key_value *has_field; |
148 | key_value *has_field; |
149 | |
149 | |
150 | /* Look for a field in has with the same key. */ |
150 | /* Look for a field in has with the same key. */ |
151 | has_field = get_ob_key_link (has, wants_field->key); |
151 | has_field = get_ob_key_link (has, wants_field->key); |
… | |
… | |
561 | extern int arch_init; |
561 | extern int arch_init; |
562 | |
562 | |
563 | /* No reason putting the archetypes objects on the speed list, |
563 | /* No reason putting the archetypes objects on the speed list, |
564 | * since they never really need to be updated. |
564 | * since they never really need to be updated. |
565 | */ |
565 | */ |
566 | |
|
|
567 | if (QUERY_FLAG (op, FLAG_FREED) && op->speed) |
566 | if (QUERY_FLAG (op, FLAG_FREED) && op->speed) |
568 | { |
567 | { |
569 | LOG (llevError, "Object %s is freed but has speed.\n", &op->name); |
568 | LOG (llevError, "Object %s is freed but has speed.\n", &op->name); |
570 | #ifdef MANY_CORES |
|
|
571 | abort (); |
|
|
572 | #else |
|
|
573 | op->speed = 0; |
569 | op->speed = 0; |
574 | #endif |
|
|
575 | } |
570 | } |
576 | |
571 | |
577 | if (arch_init) |
572 | if (arch_init) |
578 | return; |
573 | return; |
579 | |
574 | |