DIRECTORY YggEnvironment, YggCoordinator USING [Handle, nullHandle]; YggCoordinatorMap: CEDAR DEFINITIONS = BEGIN TransID: TYPE = YggEnvironment.TransID; Handle: TYPE = YggCoordinator.Handle; nullHandle: Handle = YggCoordinator.nullHandle; Register: PROC [handle: Handle]; GetHandle: PROC [trans: TransID] RETURNS [handle: Handle]; Unregister: PROC [handle: Handle]; Count: PROC [] RETURNS [INT]; EnumProc: TYPE = PROC [Handle] RETURNS [stop: BOOL]; LockedEnumerate: PROC [proc: EnumProc]; UnlockedEnumerate: PROC [proc: EnumProc]; END. (YggCoordinatorMap.mesa Copyright Σ 1985, 1988 by Xerox Corporation. All rights reserved. TransID -> YggCoordinator.Handle. Last edited by MBrown on November 8, 1982 3:19 pm Hauser, March 7, 1985 2:37:19 pm PST Bob Hagmann April 21, 1988 4:04:01 pm PDT Creating, finding, and deleting Handles Returns the number of Handles currently registered. proc is called with CoordinatorMap monitor locked. All Handles Registered before the start of the enumeration and not Unregistered before the start of the enumeration will be seen exactly once. proc is called with CoordinatorMap monitor unlocked. All Handles Registered before the start of the enumeration and not Unregistered before the end of the enumeration will be seen at least once. Hauser, March 7, 1985 2:37:06 pm PST Nodified, added copyright. Κp˜šœ™IcodešœB™B—Jšœ!™!šœ™Jšœ"™"K™$K™)—˜šΟk ˜ J˜Jšœœ˜*J˜——šœœ˜&Jš˜Jšœ œ˜'J˜Jšœœ˜%J˜/J˜J˜Jšœ'™'J˜JšΟnœœ˜ J˜Jšž œœœ˜:J˜Jšž œœ˜"J˜šžœœœœ˜Jšœ3™3J˜—Jš žœœœ œœ˜4šžœœ˜'JšœJ™JJšœP™PJšœ&™&—šžœœ˜)JšœL™LJšœN™NJšœ'™'J˜—Jšœ˜—™$K™—K™—…—&Ύ