[pypy-commit] stmgc c8-card-marking: Instead of SIGINT, raise SIGABRT here, and if that doesn't kill the process,

arigo noreply at buildbot.pypy.org
Tue Mar 3 13:45:45 CET 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: c8-card-marking
Changeset: r1689:3c11d9ba56a7
Date: 2015-03-03 13:46 +0100
http://bitbucket.org/pypy/stmgc/changeset/3c11d9ba56a7/

Log:	Instead of SIGINT, raise SIGABRT here, and if that doesn't kill the
	process, raise SIGKILL.

diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -228,7 +228,8 @@
         addr >= stm_object_pages+TOTAL_MEMORY) {
         /* actual segfault, unrelated to stmgc */
         fprintf(stderr, "Segmentation fault: accessing %p\n", addr);
-        raise(SIGINT);
+        raise(SIGABRT);
+        raise(SIGKILL);
     }
 
     int segnum = get_segment_of_linear_address(addr);
@@ -236,7 +237,8 @@
     if (segnum != STM_SEGMENT->segment_num) {
         fprintf(stderr, "Segmentation fault: accessing %p (seg %d) from"
                 " seg %d\n", addr, segnum, STM_SEGMENT->segment_num);
-        raise(SIGINT);
+        raise(SIGABRT);
+        raise(SIGKILL);
     }
     dprintf(("-> segment: %d\n", segnum));
 
@@ -245,7 +247,8 @@
     if (pagenum < END_NURSERY_PAGE) {
         fprintf(stderr, "Segmentation fault: accessing %p (seg %d "
                         "page %lu)\n", addr, segnum, pagenum);
-        raise(SIGINT);
+        raise(SIGABRT);
+        raise(SIGKILL);
     }
 
     DEBUG_EXPECT_SEGFAULT(false);


More information about the pypy-commit mailing list