[fpc-pascal] Problem with threads and cwstrings
Alexander Bauer
alex at familie-bauer.info
Wed Jun 18 07:50:08 CEST 2008
Hi,
i have a problem when i use cwstrings together with threads on linux.
I made a simple program which create threads in an endless loop.
Every thread only does a sleep(1) and then finish.
Without 'cwstrings' everything works fine.
But when i include 'cwstrings' the program eats more and more memory.
What is the problem ?
FPC 2.2.1 (I also tested with FPC 2.3.1) with Ubuntu 8.04
Alex
----------------------------------------------------------------------------------
threaddemo.lpr
----------------------------------------------------------------------------------
program threaddemo;
{$mode objfpc}{$H+}
uses
cthreads,
cwstring,
SysUtils,
mythread;
var
i: integer;
bTerm: boolean;
Thread: TmyThread;
begin
i := 0;
bTerm := false;
while not bTerm do
begin
Thread := TmyThread.create(true);
Thread.Resume;
Inc(i);
Sleep(1);
WriteLn('Thread #' + IntToStr(i));
end;
Halt(0);
end.
----------------------------------------------------------------------------------
mythread.pas
----------------------------------------------------------------------------------
unit mythread;
interface
uses
Classes, SysUtils;
type
TmyThread = class(TThread)
private
public
Constructor Create(CreateSuspended : boolean);
procedure Execute; override;
end;
implementation
{ TmyThread }
Constructor TmyThread.Create(CreateSuspended : boolean);
begin
inherited create(CreateSuspended);
FreeOnTerminate:=true;
end;
procedure TmyThread.Execute;
begin
sleep(1);
end;
end.
More information about the fpc-pascal
mailing list