You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2011/04/21 02:05:06 UTC
[jira] [Updated] (TS-168) LogBuffer.h/LogObject.h overload operator
new and do object initialization there using iObject which is evil
[ https://issues.apache.org/jira/browse/TS-168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leif Hedstrom updated TS-168:
-----------------------------
Fix Version/s: (was: 2.1.8)
2.1.9
> LogBuffer.h/LogObject.h overload operator new and do object initialization there using iObject which is evil
> ------------------------------------------------------------------------------------------------------------
>
> Key: TS-168
> URL: https://issues.apache.org/jira/browse/TS-168
> Project: Traffic Server
> Issue Type: Improvement
> Components: Logging
> Reporter: John Plevyak
> Assignee: John Plevyak
> Priority: Critical
> Fix For: 2.1.9
>
> Attachments: LogBuff.diff
>
>
> In header LogBuffer.h the classes iObject/iObjectActivator/iLogBufferData
> need to be cleaned up.
> This code is terribly designed. Nobody should ever do object initialization
> in an overloaded new operator. This caused TS-159.
> The logging code was designed to be completely lockless on the critical path
> and not to do any malloc/new (which typically involve locks) and this code
> breaks that design.
> Basically, this should be rewritten, perhaps someone for Y! could attach
> the patch which added this junk so it can be backed out and whatever
> real functionality it added, added in a reasonable way.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira