summaryrefslogtreecommitdiff
path: root/cord/cordxtra.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2018-05-23 11:43:04 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-05-23 11:43:04 +0300
commite12e820f357d1f58fbefb0e73ca559edfa251681 (patch)
treed46185d692b257db7f5b1517b485cf4c5649bf5a /cord/cordxtra.c
parentf72fc9d43c1659224e0986a6a8fa3d0349eedd14 (diff)
downloadbdwgc-e12e820f357d1f58fbefb0e73ca559edfa251681.tar.gz
Fix cords for MANUAL_VDB
* cord/cordbscs.c (CORD_cat_char_star, CORD CORD_cat, CORD_from_fn_inner, CORD_substr_closure): Call GC_end_stubborn_change. * cord/cordxtra.c (refill_cache): Likewise. * cord/tests/de.c (prune_map, add_map, add_hist, replace_line, generic_init): Likewise.
Diffstat (limited to 'cord/cordxtra.c')
-rw-r--r--cord/cordxtra.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cord/cordxtra.c b/cord/cordxtra.c
index 5ee4df73..d29f3444 100644
--- a/cord/cordxtra.c
+++ b/cord/cordxtra.c
@@ -547,6 +547,8 @@ static char refill_cache(refill_data * client_data)
new_cache -> tag = DIV_LINE_SZ(file_pos);
/* Store barrier goes here. */
ATOMIC_WRITE(state -> lf_cache[line_no], new_cache);
+ GC_end_stubborn_change((/* no volatile */ void *)(state -> lf_cache
+ + line_no));
state -> lf_current = line_start + LINE_SZ;
return(new_cache->data[MOD_LINE_SZ(file_pos)]);
}