]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/libshared/src/libshared_memory/libshared_memory_rollback.c
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / test_and_benchmark / libshared / src / libshared_memory / libshared_memory_rollback.c
1 /***** includes *****/
2 #include "libshared_memory_internal.h"
3
4
5
6
7
8 /****************************************************************************/
9 void libshared_memory_set_rollback( struct libshared_memory_state *ms )
10 {
11   struct lfds710_list_asu_element
12     *lasue = NULL;
13
14   struct libshared_memory_element
15     *me;
16
17   LFDS710_PAL_ASSERT( ms != NULL );
18
19   while( LFDS710_LIST_ASU_GET_START_AND_THEN_NEXT(ms->list_of_allocations,lasue) )
20   {
21     me = LFDS710_LIST_ASU_GET_VALUE_FROM_ELEMENT( *lasue );
22
23     me->rollback = me->current_pointer;
24     me->rollback_memory_size_in_bytes = me->current_memory_size_in_bytes;
25   }
26
27   return;
28 }
29
30
31
32
33
34 /****************************************************************************/
35 void libshared_memory_rollback( struct libshared_memory_state *ms )
36 {
37   struct lfds710_list_asu_element
38     *lasue = NULL;
39
40   struct libshared_memory_element
41     *me;
42
43   LFDS710_PAL_ASSERT( ms != NULL );
44
45   while( LFDS710_LIST_ASU_GET_START_AND_THEN_NEXT(ms->list_of_allocations,lasue) )
46   {
47     me = LFDS710_LIST_ASU_GET_VALUE_FROM_ELEMENT( *lasue );
48
49     me->current_pointer = me->rollback;
50     me->current_memory_size_in_bytes = me->rollback_memory_size_in_bytes;
51   }
52
53   return;
54 }
55