thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King III (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (THRIFT-4468) Make the class TGUIConsole thread-safe
Date Thu, 27 Dec 2018 15:25:06 GMT

     [ https://issues.apache.org/jira/browse/THRIFT-4468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

James E. King III closed THRIFT-4468.
-------------------------------------

> Make the class TGUIConsole thread-safe
> --------------------------------------
>
>                 Key: THRIFT-4468
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4468
>             Project: Thrift
>          Issue Type: Sub-task
>          Components: Delphi - Library
>    Affects Versions: 0.11.0
>            Reporter: Anton Shchyrov
>            Assignee: Jens Geyer
>            Priority: Major
>             Fix For: 0.12.0
>
>
> In Delphi all methods that refer to VCL should do it only from main thread. But class TGUIConsole despite
the name does not contain any synchronization methods.
> My suggestion is to rename this class to TStringsConsole, make method InternalWrite
virtual and make new class TGUIConsole inherits from TStringsConsole
>  
> {code:java}
> TGUIConsole = class( TStringsConsole )
> protected
>    procedure InternalWrite(const S: string; bWriteLine: Boolean); override;
> end;
> { TGUIConsole }
> procedure TGUIConsole.InternalWrite(const S: string; bWriteLine: Boolean);
>  begin
>    if TThread.CurrentThread.ThreadID <> MainThreadID then begin
>      TThread.Synchronize(nil, procedure
>        begin
>          inherited InternalWrite(S, bWriteLine);
>        end
>      );
>    end else
>      inherited InternalWrite(S, bWriteLine);
>  end;
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message