>>>> "David" == David Bush
<David.Bush(a)intel.com> writes:
David> I'm submitting this patch as a starting point for discussion. With
David> this patch XEmacs compiles and runs "pretty well" under
David> Cygwin.
That's pretty impressive work, and it looks fine at least from cursory
inspection. (Except for the typo already noted.) Many thanks for
working on this!
David> I'm
David> still getting an assertion failure in alloc.c in mark_object at line 3200
David> gc_checking_assert (LHEADER_IMPLEMENTATION (lheader)->basic_p ||
David> ! ((struct lcrecord_header *) lheader)->free);
David> I'm still having trouble with debugging and stack traces but roughly
David> the call sequence is:
David> mark_object
David> mark_event line 112 of events.c (mark_object (XEVENT_CHANNEL(obj));)
David> mark_object line 3226 of alloc.c (obj = RECORD_MARKER (lheader)(obj);)
David> garbage_collect_1 line 4344 of alloc.c
From code inspection, your channel manipulation looks correct. Any
chance you could find out more about the channel object it's failing
on? Namely, which part of the assertion is failing, and what its
actual type is?
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla