emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ok, somebody give me a clue.


From: David Kastrup
Subject: Ok, somebody give me a clue.
Date: Mon, 28 Feb 2005 13:02:20 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

For debugging purposes, I have been using the following:

struct trbuf { void* pc; int value; } trbuf[256];
unsigned char trptr;
#define RECORD_INPUT do { __label__ woozle; \
  woozle: trbuf[trptr++] = (struct trbuf)                               \
                            { &&woozle, interrupt_input_blocked}; } while(0)

And then whereever I change interrupt_input_blocked, I also call
RECORD_INPUT.  This causes Emacs to crash in unrelated spaces.  I have
crosschecked the compiled code, and it does the correct thing: no data
type overflow problems or something.

So it is obvious that the problem is elsewhere, likely that the data
structures I use above confuse the garbage collector.  What kind of
data structures are allowed, and how can I hide data structures that
would confuse it from the garbarge collector?

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




reply via email to

[Prev in Thread] Current Thread [Next in Thread]