Commit Graph

3 Commits

Author SHA1 Message Date
bdc 17695ee207 Updated version to 0.5.2
Incorporated Windows NT support via cygwin32
1999-06-21 04:35:42 +00:00
shivers 00af71f77d There was a weird bug in the GC system. The image-writing code causes a
GC to assemble a compacted heap image in newspace which it then writes out
to disk. Then the VM calls ABORT-GC to cancel the GC operation, which scans
the current space, fixing up the "broken hearts" -- restoring word 1 of
each structure that got clobbered with a forwarding pointer.

Unfortunately, someone (possibly myself) had inserted a post_gc_fdports() call
into the VM between the gc and the abort. This procedure updates a C vector of
Scheme values (fdports[]) by following forwarding pointers -- BUT -- in this
instance we didn't really want to break hearts, and the abort-gc code didn't
know about the fdports[] vector, so it couldn't undo the effects. This caused
the fdports[] vec to point into hyperspace after the image dump, and *that*
meant on the next GC, all the live ports were considered dead. Oops.

The fix was to remove this bogus call. The post_gc_fdports() proc is now
called only after a *real* GC.
    -Olin
1995-10-29 15:45:22 +00:00
bdc 2302efe24e *** empty log message *** 1995-10-14 03:34:21 +00:00