1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 02:31:03 -08:00

Use a reference count to discover cases where a format is deleted when a pool is still using it, as suggested by rb <https://info.ravenbrook.com/mail/2014/10/16/13-35-06/0/>.

Copied from Perforce
 Change: 187279
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2014-10-16 22:59:00 +01:00
parent ae805ce16e
commit 4ce030ad13
4 changed files with 7 additions and 12 deletions

View file

@ -110,7 +110,6 @@ typedef struct mps_pool_s { /* generic structure */
RingStruct segRing; /* segs are attached to pool */
Align alignment; /* alignment for units */
Format format; /* format only if class->attr&AttrFMT */
RingStruct formatRing; /* link in list of pools using format */
PoolFixMethod fix; /* fix method */
double fillMutatorSize; /* bytes filled, mutator buffers */
double emptyMutatorSize; /* bytes emptied, mutator buffers */
@ -411,7 +410,7 @@ typedef struct mps_fmt_s {
Serial serial; /* from arena->formatSerial */
Arena arena; /* owning arena */
RingStruct arenaRing; /* formats are attached to the arena */
RingStruct poolRing; /* ring of pools using the format */
Count poolCount; /* number of pools using the format */
Align alignment; /* alignment of formatted objects */
mps_fmt_scan_t scan;
mps_fmt_skip_t skip;