snapshot->process = mc_process;
snapshot->num_state = num_state;
- snapshot->enabled_processes = xbt_dynar_new(sizeof(int), NULL);
-
smx_process_t process;
MC_EACH_SIMIX_PROCESS(process,
- xbt_dynar_push_as(snapshot->enabled_processes, int, (int)process->pid));
+ snapshot->enabled_processes.insert(process->pid));
MC_snapshot_handle_ignore(snapshot);
}
/* Compare enabled processes */
- unsigned int cursor;
- int pid;
- xbt_dynar_foreach(s1->enabled_processes, cursor, pid){
- if(!xbt_dynar_member(s2->enabled_processes, &pid)) {
+ if (s1->enabled_processes != s2->enabled_processes) {
//XBT_TRACE3(mc, state_diff, num1, num2, "Different enabled processes");
XBT_VERB("(%d - %d) Different enabled processes", num1, num2);
// return 1; ??
- }
}
unsigned long i = 0;
#endif
/* Stacks comparison */
- cursor = 0;
+ unsigned cursor = 0;
int diff_local = 0;
#ifdef MC_DEBUG
is_diff = 0;
heap_bytes_used(0),
snapshot_regions(nullptr),
snapshot_regions_count(0),
- enabled_processes(0),
+ enabled_processes(),
privatization_index(0),
stack_sizes(nullptr),
stacks(nullptr),
#include <sys/types.h> // off_t
#include <stdint.h> // size_t
+#include <set>
+
#include <simgrid_config.h>
#include "../xbt/mmalloc/mmprivate.h"
#include <xbt/asserts.h>
size_t heap_bytes_used;
mc_mem_region_t* snapshot_regions;
size_t snapshot_regions_count;
- xbt_dynar_t enabled_processes;
+ std::set<pid_t> enabled_processes;
int privatization_index;
size_t *stack_sizes;
xbt_dynar_t stacks;