-#include <algorithm>
#include <cstring>
#include <stdlib.h>
{
ASSERT(cv != NULL);
- if (cv->num_threads > num_threads)
+ if (cv->num_threads > num_threads) {
clock = (modelclock_t *)snapshot_realloc(clock, cv->num_threads * sizeof(modelclock_t));
+ for (int i= num_threads; i < cv->num_threads; i++)
+ clock[i] = 0;
+ num_threads = cv->num_threads;
+ }
/* Element-wise maximum */
for (int i = 0; i < cv->num_threads; i++)
return false;
}
-bool ClockVector::has_synchronized_with(const ClockVector *cv) const
-{
- ASSERT(cv);
- if (cv->num_threads > num_threads)
- return false;
- for (int i = 0; i < cv->num_threads; i++)
- if (cv->clock[i] > clock[i])
- return false;
- return true;
-}
-
/** Gets the clock corresponding to a given thread id from the clock vector. */
modelclock_t ClockVector::getClock(thread_id_t thread) {
int threadid = id_to_int(thread);