1
1
- added copy routine to copy state from one sequence tracker into another

This commit was SVN r9813.
Этот коммит содержится в:
Tim Woodall 2006-05-04 15:14:47 +00:00
родитель b76b46bcec
Коммит 14293acce0
2 изменённых файлов: 27 добавлений и 6 удалений

Просмотреть файл

@ -36,7 +36,11 @@ static void ompi_seq_tracker_construct(ompi_seq_tracker_t* seq_tracker) {
}
static void ompi_seq_tracker_destruct(ompi_seq_tracker_t* seq_tracker) {
static void ompi_seq_tracker_destruct(ompi_seq_tracker_t* seq_tracker)
{
opal_list_item_t* item;
while(NULL != (item = opal_list_remove_first(&seq_tracker->seq_ids)))
OBJ_RELEASE(item);
OBJ_DESTRUCT(&seq_tracker->seq_ids);
}
@ -177,6 +181,19 @@ void ompi_seq_tracker_insert(ompi_seq_tracker_t* seq_tracker,
}
void ompi_seq_tracker_copy(ompi_seq_tracker_t* dst, ompi_seq_tracker_t* src)
{
opal_list_item_t* item;
for( item = opal_list_get_first(&src->seq_ids);
item != opal_list_get_end(&src->seq_ids);
item = opal_list_get_next(item)) {
ompi_seq_tracker_range_t* src_item = (ompi_seq_tracker_range_t*)item;
ompi_seq_tracker_range_t* dst_item = OBJ_NEW(ompi_seq_tracker_range_t);
dst_item->seq_id_high = src_item->seq_id_high;
dst_item->seq_id_low = src_item->seq_id_low;
opal_list_append(&dst->seq_ids, &dst_item->super);
if(src->seq_ids_current == src_item) {
dst->seq_ids_current = dst_item;
}
}
}

Просмотреть файл

@ -63,8 +63,12 @@ bool ompi_seq_tracker_check_duplicate(
* insert item into sequence tracking list,
* compacts continuous regions into a single entry
*/
void ompi_seq_tracker_insert(ompi_seq_tracker_t* seq_tracker,
uint32_t seq_i);
void ompi_seq_tracker_insert(ompi_seq_tracker_t* seq_tracker, uint32_t seq_i);
/*
* Copy state from one sequence tracker list into another.
*/
void ompi_seq_tracker_copy(ompi_seq_tracker_t* dst, ompi_seq_tracker_t* src);
#if defined(c_plusplus) || defined(__cplusplus)
}