MCPcopy Create free account
hub / github.com/SoarGroup/Soar / destroy_soar_agent

Function destroy_soar_agent

Core/SoarKernel/src/agent.cpp:452–636  ·  view source on GitHub ↗

=============================== =============================== */

Source from the content-addressed store, hash-verified

450===============================
451*/
452void destroy_soar_agent(agent* delete_agent)
453{
454 //print(delete_agent, "\nDestroying agent %s.\n", delete_agent->name); /* AGR 532 */
455
456 /////////////////////////////////////////////////////////
457 // Soar Modules - could potentially rely on hash tables
458 /////////////////////////////////////////////////////////
459
460 // cleanup exploration
461 for (int i = 0; i < EXPLORATION_PARAMS; i++)
462 {
463 delete delete_agent->exploration_params[ i ];
464 }
465
466 // cleanup Soar-RL
467 delete_agent->rl_params->apoptosis->set_value(rl_param_container::apoptosis_none);
468 delete delete_agent->rl_prods;
469 delete delete_agent->rl_params;
470 delete delete_agent->rl_stats;
471 delete_agent->rl_params = NULL; // apoptosis needs to know this for excise_all_productions below
472
473 // cleanup select
474 select_init(delete_agent);
475 delete delete_agent->select;
476
477 // cleanup predict
478 delete delete_agent->prediction;
479
480 // cleanup wma
481 delete_agent->wma_params->activation->set_value(off);
482 delete delete_agent->wma_forget_pq;
483 delete delete_agent->wma_touched_elements;
484 delete delete_agent->wma_touched_sets;
485 delete delete_agent->wma_params;
486 delete delete_agent->wma_stats;
487 delete delete_agent->wma_timers;
488
489 // cleanup epmem
490 epmem_close(delete_agent);
491 delete delete_agent->epmem_params;
492 delete delete_agent->epmem_stats;
493 delete delete_agent->epmem_timers;
494
495 delete delete_agent->epmem_node_removals;
496 delete delete_agent->epmem_node_mins;
497 delete delete_agent->epmem_node_maxes;
498 delete delete_agent->epmem_edge_removals;
499 delete delete_agent->epmem_edge_mins;
500 delete delete_agent->epmem_edge_maxes;
501 delete delete_agent->epmem_id_repository;
502 delete delete_agent->epmem_id_replacement;
503 delete delete_agent->epmem_id_ref_counts;
504 delete delete_agent->epmem_id_removes;
505
506 delete delete_agent->epmem_wme_adds;
507 delete delete_agent->epmem_promotions;
508
509 delete delete_agent->epmem_db;

Callers 1

~AgentSMLMethod · 0.85

Calls 15

select_initFunction · 0.85
epmem_closeFunction · 0.85
smem_closeFunction · 0.85
stats_closeFunction · 0.85
getSoarInstanceFunction · 0.85
symbol_remove_refFunction · 0.85
free_memoryFunction · 0.85
excise_all_productionsFunction · 0.85
free_with_poolFunction · 0.85

Tested by

no test coverage detected