From: Gerald Jay Sussman Date: Tue, 23 Jan 1990 03:00:23 +0000 (+0000) Subject: Fix bug by which current_disk_position was not reset from the last X-Git-Tag: 20090517-FFI~11569 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=c6b8b954cfb0dc859512acfcb60ba69dd4dd4a31;p=mit-scheme.git Fix bug by which current_disk_position was not reset from the last gc-like operation. When the files were swapped for fasdump, the system might not lseek thinking that the pointer into the file was at the correct place while it doesn't. Typical failure would be "Could not read into the scan buffer" since the file was shorter than expected. --- diff --git a/v7/src/microcode/bchmmg.c b/v7/src/microcode/bchmmg.c index 9a0c26938..282e66682 100644 --- a/v7/src/microcode/bchmmg.c +++ b/v7/src/microcode/bchmmg.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchmmg.c,v 9.50 1989/11/30 03:03:35 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchmmg.c,v 9.51 1990/01/23 03:00:23 gjs Exp $ Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology @@ -391,6 +391,8 @@ initialize_free_buffer() scan_position = -1; scan_buffer_bottom = gc_disk_buffer_2; scan_buffer_top = scan_buffer_bottom + GC_DISK_BUFFER_SIZE; + /* Force first write to do an lseek. */ + current_disk_position = -1; return (free_buffer_bottom); }