Hi Mike, Mike Gran <spk...@yahoo.com> skribis:
> It is a standalone test that, in effect, checks to see if > BDW-GC is running marking in its own non-Guile thread. If > BDW does have parallel marking enabled, this test will SEGV. > If it doesn't have parallel marking enabled, this test will pass. Good. FWIW, I’ve been meaning to fix the problem for good. I hope to post a patch within the next few days. > From f3adf180edbf6ebe642cf4c1ad8f029ce0876d0d Mon Sep 17 00:00:00 2001 > From: Mike Gran <spk...@yahoo.com> > Date: Tue, 26 Feb 2013 08:27:22 -0800 > Subject: [PATCH] Add standalone test for smob marking > > * test-suite/standalone/Makefile.am: add test-smob-mark Specify the makefile variable name in parentheses. > * test-suite/standalone/test-smob-mark.c: new test > * test-suite/standalone/.gitignore: ignore test-smob-mark No need for .gitignore here. > +typedef struct x_tag > +{ > + SCM scm_value; > + int c_value; > +} x_t; Separate typedef and struct. > +static scm_t_bits x_tag; > +SCM make_x (void); > +SCM mark_x (SCM x); > +int print_x (SCM x, SCM port, scm_print_state * pstate); > +size_t free_x (SCM x); > +void init_smob_type (void); > +void test_scm_smob_mark (void); Make them all static. > +SCM > +mark_x (SCM x) > +{ > + x_t *c_x; > + c_x = (x_t *) SCM_SMOB_DATA (x); > + scm_gc_mark (c_x->scm_value); > + return SCM_BOOL_F; > +} I think it’d be good to increment a global counter to make sure the mark procedure is called at all. Thanks! Ludo’.