[
https://issues.apache.org/jira/browse/THRIFT-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14935913#comment-14935913
]
James E. King, III commented on THRIFT-2028:
--------------------------------------------
Another suggestion would be to eliminate the project-specific abstraction and
require either boost or C++11, assuming either of them have all the primitives.
This would simplify the code base quite a bit and remove the need to maintain
this abstraction layer.
> Cleanup threading headers / libraries
> -------------------------------------
>
> Key: THRIFT-2028
> URL: https://issues.apache.org/jira/browse/THRIFT-2028
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Affects Versions: 0.9
> Reporter: Ben Craig
> Assignee: Ben Craig
> Fix For: 1.0
>
> Attachments: thread_cleanup.patch
>
>
> The current threading implementations have some minor annoyances:
> All do some amount of internal state tracking with an enum that ends up being
> overkill.
> All use weak_ptrs to help manage lifetimes, instead of the
> enable_shared_from_this base class that was designed for exactly this purpose.
> All of the specific thread factories implement "detached" methods, but the
> base thread factory doesn't have virtual methods exposing the detached
> methods.
> The thread manager has an unused local.
> Adding a "UniqueGuard" class to Mutex.h, to give more flexible RAII
> management to locks. Currently no clients of this, but I have some patches
> that will eventually use this.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)