Author: Remi Meier <[email protected]>
Branch:
Changeset: r1359:0308c7a328d1
Date: 2014-09-05 13:02 +0200
http://bitbucket.org/pypy/stmgc/changeset/0308c7a328d1/
Log: fix
diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -108,11 +108,10 @@
size_t i = 0;
fprintf(stderr, "elem (%p, %d)\n", cl->next, cl->segment_num);
object_t *obj;
- do {
- obj = cl->written[i];
+ while ((obj = cl->written[i])) {
fprintf(stderr, "-> %p\n", obj);
i++;
- } while ((obj = cl->written[i]));
+ };
}
}
@@ -122,8 +121,11 @@
size_t obj_size;
uintptr_t pagenum = (uintptr_t)obj / 4096UL;
- if (!is_private_log_page_in(STM_SEGMENT->segment_num, pagenum))
+ if (!is_private_log_page_in(STM_SEGMENT->segment_num, pagenum)) {
+ assert(!is_shared_log_page(pagenum));
+ assert(!is_readable_log_page_in(STM_SEGMENT->segment_num, pagenum));
return; /* only do in sighandler */
+ }
/* should be readable & private (XXX: maybe not after major GCs) */
assert(is_readable_log_page_in(from_seg, pagenum));
diff --git a/c8/stm/setup.c b/c8/stm/setup.c
--- a/c8/stm/setup.c
+++ b/c8/stm/setup.c
@@ -159,6 +159,8 @@
munmap(stm_object_pages, TOTAL_MEMORY);
stm_object_pages = NULL;
+ commit_log_root.next = NULL; /* xxx:free them */
+ commit_log_root.segment_num = -1;
close_fd_mmap(stm_object_pages_fd);
teardown_sync();
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit