Added TThreadlist code. Shane

This commit is contained in:
lazarus 2000-06-27 15:55:19 +00:00
parent 8d2b35c5ef
commit ff7424265d
2 changed files with 47 additions and 11 deletions

View File

@ -344,28 +344,48 @@ end;
constructor TThreadList.Create;
begin
inherited Create;
//InitializeCriticalSection(FLock);
FList := TList.Create;
end;
destructor TThreadList.Destroy;
begin
LockList;
try
FList.Free;
inherited Destroy;
finally
UnlockList;
end;
end;
procedure TThreadList.Add(Item: Pointer);
begin
Locklist;
try
//make sure it's not already in the list
if FList.indexof(Item) = -1 then
FList.Add(Item);
finally
UnlockList;
end;
end;
procedure TThreadList.Clear;
begin
Locklist;
try
FList.Clear;
finally
UnLockList;
end;
end;
@ -374,28 +394,35 @@ function TThreadList.LockList: TList;
begin
LockList:=nil;
Result := FList;
end;
procedure TThreadList.Remove(Item: Pointer);
begin
LockList;
try
FList.Remove(Item);
finally
UnlockList;
end;
end;
procedure TThreadList.UnlockList;
begin
end;
{
$Log$
Revision 1.11 2000-03-20 14:30:03 pierre
Revision 1.12 2000-06-27 15:55:19 lazarus
Added TThreadlist code. Shane
Revision 1.11 2000/03/20 14:30:03 pierre
* fix of 877
Revision 1.10 2000/01/07 01:24:33 peter

View File

@ -34,20 +34,29 @@ implementation
uses
linux;
var
ClassList : TThreadlist;
{ OS - independent class implementations are in /inc directory. }
{$i classes.inc}
initialization
ClassList := TThreadList.Create;
finalization
if ThreadsInited then
ClassList.Free;
if ThreadsInited then
DoneThreads;
end.
{
$Log$
Revision 1.15 2000-01-07 01:24:34 peter
Revision 1.16 2000-06-27 15:55:19 lazarus
Added TThreadlist code. Shane
Revision 1.15 2000/01/07 01:24:34 peter
* updated copyright to 2000
Revision 1.14 2000/01/07 00:01:33 peter