diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-07-18 22:35:36 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-07-18 22:35:36 +0000 |
commit | 63e6f967f9139308397bd44bdf9c2a4aea903ab0 (patch) | |
tree | af2eb8b4f1586240ee7b390d40c4fff139ef1c70 | |
parent | 63611f64fb7120c6277ccdeb6a81c4ffbf6fc3e8 (diff) | |
download | fpc-63e6f967f9139308397bd44bdf9c2a4aea903ab0.tar.gz |
* Add TerminatedSet (delphi compatibility, bug ID 37388)
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@45805 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | rtl/amicommon/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/atari/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/beos/tthread.inc | 2 | ||||
-rw-r--r-- | rtl/embedded/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/freertos/tthread.inc | 3 | ||||
-rw-r--r-- | rtl/gba/tthread.inc | 3 | ||||
-rw-r--r-- | rtl/go32v2/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/macos/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/msdos/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/nativent/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/nds/tthread.inc | 3 | ||||
-rw-r--r-- | rtl/netware/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/netwlibc/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/objpas/classes/classes.inc | 7 | ||||
-rw-r--r-- | rtl/objpas/classes/classesh.inc | 3 | ||||
-rw-r--r-- | rtl/os2/tthread.inc | 3 | ||||
-rw-r--r-- | rtl/symbian/tthread.inc | 3 | ||||
-rw-r--r-- | rtl/unix/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/wii/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/win/tthread.inc | 1 | ||||
-rw-r--r-- | rtl/win16/tthread.inc | 1 |
21 files changed, 34 insertions, 6 deletions
diff --git a/rtl/amicommon/tthread.inc b/rtl/amicommon/tthread.inc index 302201ae12..dc3cc5ed0c 100644 --- a/rtl/amicommon/tthread.inc +++ b/rtl/amicommon/tthread.inc @@ -116,6 +116,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; diff --git a/rtl/atari/tthread.inc b/rtl/atari/tthread.inc index 24e7e37f19..17d9d92735 100644 --- a/rtl/atari/tthread.inc +++ b/rtl/atari/tthread.inc @@ -74,6 +74,7 @@ end; procedure TThread.Terminate; begin + TerminatedSet; end; diff --git a/rtl/beos/tthread.inc b/rtl/beos/tthread.inc index a0fb61e1fc..3ab4a4b5a2 100644 --- a/rtl/beos/tthread.inc +++ b/rtl/beos/tthread.inc @@ -274,6 +274,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; @@ -560,6 +561,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; diff --git a/rtl/embedded/tthread.inc b/rtl/embedded/tthread.inc index d47e8823f9..6c18542b26 100644 --- a/rtl/embedded/tthread.inc +++ b/rtl/embedded/tthread.inc @@ -100,6 +100,7 @@ end; procedure TThread.Terminate; begin FTerminated := true; + TerminatedSet; end; diff --git a/rtl/freertos/tthread.inc b/rtl/freertos/tthread.inc index d47e8823f9..71df157744 100644 --- a/rtl/freertos/tthread.inc +++ b/rtl/freertos/tthread.inc @@ -99,7 +99,8 @@ end; procedure TThread.Terminate; begin - FTerminated := true; + FTerminated := true; + TerminatedSet; end; diff --git a/rtl/gba/tthread.inc b/rtl/gba/tthread.inc index d47e8823f9..71df157744 100644 --- a/rtl/gba/tthread.inc +++ b/rtl/gba/tthread.inc @@ -99,7 +99,8 @@ end; procedure TThread.Terminate; begin - FTerminated := true; + FTerminated := true; + TerminatedSet; end; diff --git a/rtl/go32v2/tthread.inc b/rtl/go32v2/tthread.inc index 24e7e37f19..17d9d92735 100644 --- a/rtl/go32v2/tthread.inc +++ b/rtl/go32v2/tthread.inc @@ -74,6 +74,7 @@ end; procedure TThread.Terminate; begin + TerminatedSet; end; diff --git a/rtl/macos/tthread.inc b/rtl/macos/tthread.inc index 24e7e37f19..17d9d92735 100644 --- a/rtl/macos/tthread.inc +++ b/rtl/macos/tthread.inc @@ -74,6 +74,7 @@ end; procedure TThread.Terminate; begin + TerminatedSet; end; diff --git a/rtl/msdos/tthread.inc b/rtl/msdos/tthread.inc index 24e7e37f19..17d9d92735 100644 --- a/rtl/msdos/tthread.inc +++ b/rtl/msdos/tthread.inc @@ -74,6 +74,7 @@ end; procedure TThread.Terminate; begin + TerminatedSet; end; diff --git a/rtl/nativent/tthread.inc b/rtl/nativent/tthread.inc index 0fa6f20cad..018e763d2c 100644 --- a/rtl/nativent/tthread.inc +++ b/rtl/nativent/tthread.inc @@ -48,6 +48,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; diff --git a/rtl/nds/tthread.inc b/rtl/nds/tthread.inc index 18f1547108..fc5096ebd2 100644 --- a/rtl/nds/tthread.inc +++ b/rtl/nds/tthread.inc @@ -99,7 +99,8 @@ end; procedure TThread.Terminate; begin - FTerminated := true; + FTerminated := true; + TerminatedSet; end; diff --git a/rtl/netware/tthread.inc b/rtl/netware/tthread.inc index 20a26afdb6..679638f1f9 100644 --- a/rtl/netware/tthread.inc +++ b/rtl/netware/tthread.inc @@ -219,6 +219,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; ThreadSwitch; end; diff --git a/rtl/netwlibc/tthread.inc b/rtl/netwlibc/tthread.inc index 0ac8e4a168..5b54483bcf 100644 --- a/rtl/netwlibc/tthread.inc +++ b/rtl/netwlibc/tthread.inc @@ -364,6 +364,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; diff --git a/rtl/objpas/classes/classes.inc b/rtl/objpas/classes/classes.inc index 896850ef94..96a88da9a8 100644 --- a/rtl/objpas/classes/classes.inc +++ b/rtl/objpas/classes/classes.inc @@ -274,6 +274,13 @@ begin GetSuspended:=FSuspended; end; +Procedure TThread.TerminatedSet; + +begin + // Empty, must be overridden. +end; + + procedure TThread.AfterConstruction; begin diff --git a/rtl/objpas/classes/classesh.inc b/rtl/objpas/classes/classesh.inc index 01f2328f0a..785766ac67 100644 --- a/rtl/objpas/classes/classesh.inc +++ b/rtl/objpas/classes/classesh.inc @@ -1907,6 +1907,7 @@ type protected FThreadID: TThreadID; // someone might need it for pthread_* calls procedure DoTerminate; virtual; + procedure TerminatedSet; virtual; procedure Execute; virtual; abstract; procedure Synchronize(AMethod: TThreadMethod); procedure Queue(aMethod: TThreadMethod); @@ -1989,7 +1990,7 @@ type property ThreadID: TThreadID read FThreadID; property OnTerminate: TNotifyEvent read FOnTerminate write FOnTerminate; property FatalException: TObject read FFatalException; - end; + end; { TComponent class } diff --git a/rtl/os2/tthread.inc b/rtl/os2/tthread.inc index 28a4922942..0c41028183 100644 --- a/rtl/os2/tthread.inc +++ b/rtl/os2/tthread.inc @@ -212,7 +212,8 @@ end; procedure TThread.Terminate; begin - FTerminated := true; + FTerminated := true; + TerminatedSet; end; diff --git a/rtl/symbian/tthread.inc b/rtl/symbian/tthread.inc index d47e8823f9..71df157744 100644 --- a/rtl/symbian/tthread.inc +++ b/rtl/symbian/tthread.inc @@ -99,7 +99,8 @@ end; procedure TThread.Terminate; begin - FTerminated := true; + FTerminated := true; + TerminatedSet; end; diff --git a/rtl/unix/tthread.inc b/rtl/unix/tthread.inc index e58977b48a..984dd46a61 100644 --- a/rtl/unix/tthread.inc +++ b/rtl/unix/tthread.inc @@ -253,6 +253,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; diff --git a/rtl/wii/tthread.inc b/rtl/wii/tthread.inc index d47e8823f9..6c18542b26 100644 --- a/rtl/wii/tthread.inc +++ b/rtl/wii/tthread.inc @@ -100,6 +100,7 @@ end; procedure TThread.Terminate; begin FTerminated := true; + TerminatedSet; end; diff --git a/rtl/win/tthread.inc b/rtl/win/tthread.inc index d7cdbaf246..9e7c039ff5 100644 --- a/rtl/win/tthread.inc +++ b/rtl/win/tthread.inc @@ -95,6 +95,7 @@ end; procedure TThread.Terminate; begin FTerminated := True; + TerminatedSet; end; function TThread.WaitFor: Integer; diff --git a/rtl/win16/tthread.inc b/rtl/win16/tthread.inc index 24e7e37f19..b46781cf55 100644 --- a/rtl/win16/tthread.inc +++ b/rtl/win16/tthread.inc @@ -74,6 +74,7 @@ end; procedure TThread.Terminate; begin +TerminatedSet; end; |