t_id
1504
t_adddate
2005/03/05
t_result
0
t_knownrunerror
0
tr_id | run | tr_ok | tr_skip | tr_result |
---|---|---|---|---|
1023001590 | 1027424 | True | False | Successfully run |
Record count: 1
{ Source provided for Free Pascal Bug Report 3695 } { Submitted by "Pedro Lopez-Cabanillas" on 2005-02-25 } { e-mail: plcl@telefonica.net } program testsync; {$ifdef FPC} {$mode delphi} {$endif} uses Classes, SysUtils {$ifdef unix} ,cthreads {$endif unix} ; type Tester = class private counter: Integer; public procedure count; procedure run; end; MyThread = class(TThread) private worker: Tester; public constructor Create(w: Tester); procedure Execute; override; end; constructor MyThread.Create(w: Tester); begin worker:= w; inherited Create(false); end; procedure MyThread.Execute; begin WriteLn('Starting MyThread.Execute'); repeat Synchronize(worker.count); until Terminated; WriteLn('Ending MyThread.Execute'); end; procedure Tester.count; begin Inc(counter); WriteLn(counter); end; procedure Tester.run; var thread: MyThread; begin thread := MyThread.Create(Self); While counter < 10 do begin Sleep(100); CheckSynchronize; //WriteLn('Loop forever inside Tester.run when compiled by FPC 1.9.8'); end; thread.Terminate; end; var t: Tester; begin t := Tester.Create; t.run; end.