Author: Remi Meier <remi.me...@inf.ethz.ch> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit