Index

Package: Locking_Objects

Description

package Locking_Objects is

Tasks & Protected

Locking_Object (protected type)

Entries:Lock, Unlock

References:

locking_objects.ads:10:20 (declaration)
applications.adb:203:26 (reference)
debugging.adb:35:18 (reference)
fully_mutable_lists.ads:88:48 (reference)
locking_objects.adb:4:20 (body)
locking_objects.adb:23:9 (label)
locking_objects.ads:24:9 (label)
locking_objects.ads:26:41 (reference)
locking_objects.ads:28:57 (reference)
mutable_lists.ads:119:47 (reference)
mutable_lists.ads:130:48 (reference)
processes-managers.adb:51:26 (reference)
tiles.adb:168:26 (reference)

Called by:

Applications.Construct defined at applications.ads:107:15
Processes.Managers.Construct defined at processes-managers.ads:154:15
Tiles.Construct defined at tiles.ads:122:15
A simple protected object used to implement a lock mutex.

Types

A_Locking_Object

type A_Locking_Object is access all Locking_Object;

Constants & Global variables

LOCK_USE_EXCEPTION

LOCK_USE_EXCEPTION : exception;

References:

locking_objects.ads:30:5 (declaration)
locking_objects.adb:15:27 (reference)
locking_objects.adb:17:27 (reference)

Subprograms & Entries

Locking_Object. Lock (abstract)

entry Lock
( owner: Task_Id := Current_Task );

References:

debugging.adb:72:24 (reference)
debugging.adb:111:20 (reference)
debugging.adb:127:20 (reference)
debugging.adb:136:20 (reference)
debugging.adb:145:20 (reference)
debugging.adb:167:20 (reference)
fully_mutable_lists.adb:10:19 (reference)
fully_mutable_lists.adb:29:19 (reference)
fully_mutable_lists.adb:53:19 (reference)
fully_mutable_lists.adb:72:19 (reference)
fully_mutable_lists.adb:89:19 (reference)
fully_mutable_lists.adb:130:19 (reference)
fully_mutable_lists.adb:142:19 (reference)
fully_mutable_lists.adb:160:19 (reference)
locking_objects.adb:6:15 (body)
locking_objects.adb:9:13 (label)
mutable_lists.adb:10:19 (reference)
mutable_lists.adb:30:19 (reference)
mutable_lists.adb:34:21 (reference)
mutable_lists.adb:58:19 (reference)
mutable_lists.adb:62:23 (reference)
mutable_lists.adb:77:19 (reference)
mutable_lists.adb:85:36 (reference)
mutable_lists.adb:101:19 (reference)
mutable_lists.adb:105:27 (reference)
mutable_lists.adb:118:19 (reference)
mutable_lists.adb:124:32 (reference)
mutable_lists.adb:136:19 (reference)
mutable_lists.adb:189:19 (reference)
mutable_lists.adb:201:19 (reference)
mutable_lists.adb:217:19 (reference)
mutable_lists.adb:253:23 (reference)
mutable_lists.adb:261:27 (reference)
mutable_lists.adb:283:32 (reference)
processes-managers.adb:38:19 (reference)
processes-managers.adb:84:19 (reference)
processes-managers.adb:94:19 (reference)
processes-managers.adb:114:19 (reference)
processes-managers.adb:153:19 (reference)
processes-managers.adb:360:23 (reference)
tiles-indices.adb:328:19 (reference)
tiles.adb:178:19 (reference)
tiles.adb:197:19 (reference)
tiles.adb:259:19 (reference)

Called by:

Debugging.Dbg defined at debugging.adb:62:15
Fully_Mutable_Lists.Find_Next defined at fully_mutable_lists.ads:95:15
Mutable_Lists.Find_Next defined at mutable_lists.ads:135:15
Mutable_Lists.Find_Next defined at mutable_lists.ads:135:15
Processes.Managers.Ticker_Task.Tick defined at processes-managers.adb:329:19
Tiles.Delete defined at tiles.ads:124:15
Tiles.Get_Bitmap defined at tiles.ads:127:14
Tiles.Load_Bitmap defined at tiles.ads:136:15
Call this to take the lock. The calling thread will block until the lock is free. This may not be called again by the caller until it calls Unlock.

Locking_Object. Unlock

procedure Unlock;

References:

debugging.adb:88:24 (reference)
debugging.adb:120:20 (reference)
debugging.adb:129:20 (reference)
debugging.adb:138:20 (reference)
debugging.adb:147:20 (reference)
debugging.adb:175:20 (reference)
debugging.adb:178:24 (reference)
fully_mutable_lists.adb:14:19 (reference)
fully_mutable_lists.adb:18:23 (reference)
fully_mutable_lists.adb:41:19 (reference)
fully_mutable_lists.adb:62:19 (reference)
fully_mutable_lists.adb:79:19 (reference)
fully_mutable_lists.adb:91:19 (reference)
fully_mutable_lists.adb:132:19 (reference)
fully_mutable_lists.adb:146:19 (reference)
fully_mutable_lists.adb:150:23 (reference)
fully_mutable_lists.adb:178:19 (reference)
fully_mutable_lists.adb:181:23 (reference)
locking_objects.adb:11:19 (body)
locking_objects.adb:21:13 (label)
mutable_lists.adb:13:19 (reference)
mutable_lists.adb:17:23 (reference)
mutable_lists.adb:36:25 (reference)
mutable_lists.adb:37:27 (reference)
mutable_lists.adb:41:21 (reference)
mutable_lists.adb:47:19 (reference)
mutable_lists.adb:67:19 (reference)
mutable_lists.adb:91:19 (reference)
mutable_lists.adb:109:19 (reference)
mutable_lists.adb:127:19 (reference)
mutable_lists.adb:138:19 (reference)
mutable_lists.adb:191:19 (reference)
mutable_lists.adb:204:19 (reference)
mutable_lists.adb:208:23 (reference)
mutable_lists.adb:234:19 (reference)
mutable_lists.adb:237:23 (reference)
mutable_lists.adb:270:23 (reference)
mutable_lists.adb:279:32 (reference)
mutable_lists.adb:285:32 (reference)
mutable_lists.adb:313:32 (reference)
processes-managers.adb:40:19 (reference)
processes-managers.adb:86:19 (reference)
processes-managers.adb:98:19 (reference)
processes-managers.adb:116:19 (reference)
processes-managers.adb:155:19 (reference)
processes-managers.adb:369:23 (reference)
tiles-indices.adb:333:19 (reference)
tiles.adb:201:19 (reference)
tiles.adb:273:19 (reference)

Called by:

Debugging.Dbg defined at debugging.adb:62:15
Fully_Mutable_Lists.Find_Next defined at fully_mutable_lists.ads:95:15
Mutable_Lists.Find_Next defined at mutable_lists.ads:135:15
Processes.Managers.Ticker_Task.Tick defined at processes-managers.adb:329:19
Tiles.Get_Bitmap defined at tiles.ads:127:14
Tiles.Load_Bitmap defined at tiles.ads:136:15
Call this to immediately release the lock. Only a thread which has called Lock should call Unlock. Raises LOCK_USE_EXCEPTION if the lock is being used illegally.

Delete

procedure Delete is new Ada.Unchecked_Deallocation
( Locking_Object, A_Locking_Object );

References:

locking_objects.ads:28:15 (declaration)
applications.adb:217:9 (reference)
mutable_lists.adb:326:13 (reference)
processes-managers.adb:71:9 (reference)
tiles.adb:181:9 (reference)

Called by:

Applications.Delete defined at applications.ads:109:15
Mutable_Lists.Delete defined at mutable_lists.ads:124:15
Processes.Managers.Delete defined at processes-managers.ads:158:15
Tiles.Delete defined at tiles.ads:124:15