thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (THRIFT-4468) Make the class TGUIConsole thread-safe
Date Thu, 25 Jan 2018 23:17:00 GMT

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

Jens Geyer resolved THRIFT-4468.
--------------------------------
    Resolution: Not A Problem

Closing this as "not a PRB".

If you (or anybody else) think it still is one, feel free to reopen and explain.

> 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
>            Priority: Major
>
> 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
> {{ 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;}}
>  



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

Mime
View raw message