DIRECTORY YggEnvironment, YggLog, YggLogRep; YggLogBasicInternal: CEDAR DEFINITIONS = BEGIN PageNumber: TYPE = YggEnvironment.PageNumber; RecordID: TYPE = YggLog.RecordID; AdvanceChunk: PROC [] RETURNS [version: YggLogRep.PageVersion, pagesInChunk: INT, firstPagePtr: LONG POINTER]; ForceTo: PROC [followingRecord: RecordID]; OpenBasicForPut: UNSAFE PROC [ nextPage: PageNumber, version: YggLogRep.PageVersion, nextRecord: RecordID] RETURNS [pagesInChunk: INT, firstPagePtr: LONG POINTER]; CloseBasicForPut: PROC []; END. CHANGE LOG Created by MBrown on June 22, 1982 10:59 am Changed by MBrown on October 2, 1982 9:11 pm ΆYggLogBasicInternal.mesa Copyright Σ 1985, 1987, 1988 by Xerox Corporation. All rights reserved. For communication between modules of the YggLogBasic implementation Last edited by MBrown on October 3, 1982 5:37 pm Hauser, March 8, 1985 10:46:22 am PST Carl Hauser, October 4, 1985 1:32:16 pm PDT Bob Hagmann May 2, 1988 3:17:15 pm PDT Exported by LogCoreImpl ! YggLog.Error[logFull] Allocate a new chunk for end of log, and return info about it. firstPagePtr points to first word of first page of chunk, which is pagesInChunk pages. Error[logFull] is a server crash; it does not release the log core monitor. Return when all pages preceding followingRecord have been recorded on the disk. (This is NOT the same as LogBasic.Force, which must also ensure that if followingRecord is the tail, then the page containing followingRecord gets cleaned up.) Must be called before first call to Put, or a horrible error will occur. Reinitializes log core. Caller should hold tail monitor to exclude concurrent calls to AdvanceChunk. Changed name of module from LogPrivate. Hauser, March 8, 1985 10:46:04 am PST Nodified, added copyright. Carl Hauser, October 4, 1985 1:32:03 pm PDT Change "Log" to "YggLog" Κ±˜šœ™IcodešœH™H—JšœC™Cšœ™Jšœ!™!K™%K™+K™&—J˜˜šΟk ˜ Jšœ˜Jšœ˜Jšœ ˜ J˜——šœœ˜(Jš˜Jšœ œ˜-Jšœ œ˜!J˜J˜J˜Jšœ™J˜šΟn œœ˜Jšœ0œœœ˜XJšœ™Jšœ>™>JšœV™VJšœK™KJ˜—šžœœ˜*JšœO™OJšœW™WJšœG™GJ˜—šžœ œ˜JšœK˜KJšœœœœ˜8JšœH™HJ˜—šžœœ˜JšœT™TJšœ™J˜J˜—Jšœ˜J˜J˜—Jšœ˜ J˜J˜+J˜J˜,Jšœ'™'™%K™—™+Kšœ™—K™—…—€η