You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Yunkai Zhang (JIRA)" <ji...@apache.org> on 2013/12/06 07:18:36 UTC
[jira] [Closed] (TS-2352) new_IOBufferData_internal() can't be used
outside of event threads.
[ https://issues.apache.org/jira/browse/TS-2352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yunkai Zhang closed TS-2352.
----------------------------
Resolution: Fixed
> new_IOBufferData_internal() can't be used outside of event threads.
> -------------------------------------------------------------------
>
> Key: TS-2352
> URL: https://issues.apache.org/jira/browse/TS-2352
> Project: Traffic Server
> Issue Type: Improvement
> Components: Core
> Reporter: Yunkai Zhang
> Assignee: Yunkai Zhang
> Fix For: 4.2.0
>
> Attachments: 0001-TS-2352-refine-THREAD_ALLOC-feature.patch
>
>
> My coworkers([~weijin] and [~happy_fish100]) are merging the code of cluster refine to master branch.
> But they found that new_IOBufferData_internal() in the new cluster threads are crashing after merged into master branch.
> The reason is that new_IOBufferData_internal() was changed by this commit:
> {code}
> commit 052da6724140c1a4721c5cf3f9b64810ab4444b8
> Author: Bryan Call <bc...@apache.org>
> Date: Mon Jun 17 14:13:07 2013 -0700
> TS-1684 - Added more ProxyAllocators for faster and local memory
> allocation. Have seen a doubling in performance depending on the benchmark.
> Details in the ticket.
> ...
> @@ -352,7 +352,7 @@ new_IOBufferBlock_internal(
> #endif
> )
> {
> - IOBufferBlock *b = ioBlockAllocator.alloc();
> + IOBufferBlock *b = THREAD_ALLOC(ioBlockAllocator, this_ethread());
> ...
> }
> {code}
> After this commit, new_IOBufferData_internal() depends on *event threads* and can't be used by other normal threads.
> I'm going to refine this function.
--
This message was sent by Atlassian JIRA
(v6.1#6144)