diff options
Diffstat (limited to 'src/betab.c')
-rw-r--r-- | src/betab.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/betab.c b/src/betab.c index 2979f8b..83d77e3 100644 --- a/src/betab.c +++ b/src/betab.c | |||
@@ -79,7 +79,7 @@ struct backend_dfn { | |||
79 | size_t vbeIPv6_len; | 79 | size_t vbeIPv6_len; |
80 | u_long vbePort; | 80 | u_long vbePort; |
81 | 81 | ||
82 | struct VSC_point *vpt[VBE_MAX]; | 82 | const volatile uint64_t *vpt[VBE_MAX]; |
83 | 83 | ||
84 | VTAILQ_ENTRY(backend_dfn) list; | 84 | VTAILQ_ENTRY(backend_dfn) list; |
85 | }; | 85 | }; |
@@ -92,9 +92,6 @@ backend_clear(void) | |||
92 | { | 92 | { |
93 | while (!VTAILQ_EMPTY(&backends)) { | 93 | while (!VTAILQ_EMPTY(&backends)) { |
94 | struct backend_dfn *dfn = VTAILQ_FIRST(&backends); | 94 | struct backend_dfn *dfn = VTAILQ_FIRST(&backends); |
95 | int i; | ||
96 | for (i = 0; i < VBE_MAX; i++) | ||
97 | VSC_Destroy_Point(&dfn->vpt[i]); | ||
98 | VTAILQ_REMOVE(&backends, dfn, list); | 95 | VTAILQ_REMOVE(&backends, dfn, list); |
99 | free(dfn->vbeIdent); | 96 | free(dfn->vbeIdent); |
100 | SNMP_FREE(dfn); | 97 | SNMP_FREE(dfn); |
@@ -127,7 +124,7 @@ backend_register(char const *name, size_t len, char const *param, | |||
127 | } | 124 | } |
128 | for (i = 0; betab_trans[i].param; i++) { | 125 | for (i = 0; betab_trans[i].param; i++) { |
129 | if (strcmp(betab_trans[i].param, param) == 0) { | 126 | if (strcmp(betab_trans[i].param, param) == 0) { |
130 | dfn->vpt[i] = VSC_Clone_Point(vpt); | 127 | dfn->vpt[i] = vpt->ptr; |
131 | break; | 128 | break; |
132 | } | 129 | } |
133 | } | 130 | } |
@@ -162,7 +159,7 @@ backendTable_load(netsnmp_cache *cache, void *vmagic) | |||
162 | 159 | ||
163 | for (i = 0; i < VBE_MAX; i++) { | 160 | for (i = 0; i < VBE_MAX; i++) { |
164 | U64 *u = (U64*)((char*)ent + betab_trans[i].off); | 161 | U64 *u = (U64*)((char*)ent + betab_trans[i].off); |
165 | uint64_t n = *(const volatile uint64_t*)dfn->vpt[i]->ptr; | 162 | uint64_t n = *dfn->vpt[i]; |
166 | u->high = n >> 32; | 163 | u->high = n >> 32; |
167 | u->low = n & 0xffffffff; | 164 | u->low = n & 0xffffffff; |
168 | } | 165 | } |