[ https://issues.apache.org/jira/browse/THRIFT-1243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13096614#comment-13096614 ]
alexandre parenteau commented on THRIFT-1243: --------------------------------------------- @diwaker: Thanks for your comments, I share your concerns and am working currently on a patch for 0.8 that will use exception handling, and more generally handle/propagate libevent errors, log errors... For example I'll propose to remove 'abort' calls in TEvhttpClientChannel.cpp TEvhttpServer.cpp, and replace them by exceptions. Also one significant issue I plan to cover, is to avoid propagating exceptions to libevent (which is C code): see THRIFT-1222 for example. > TAsyncChannel callbacks > ----------------------- > > Key: THRIFT-1243 > URL: https://issues.apache.org/jira/browse/THRIFT-1243 > Project: Thrift > Issue Type: Improvement > Components: C++ - Library > Affects Versions: 0.7 > Environment: Visual C++ 2010 > Reporter: alexandre parenteau > Assignee: alexandre parenteau > Priority: Minor > Labels: patch > Fix For: 0.8 > > Attachments: THRIFT-1243.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > [Context: This patch is part of a larger patch to use thriftnb on > Windows/VisualC++. See > https://github.com/aubonbeurre/thrift/blob/alex-0.7.0/README.non.blocking.Windows > for more details.] > When compiling using Visual C++ 2010, the compiler chokes on casting some > callbacks bool(*)() to void(*)(). > Although probably valid and supported by gcc, this is further complicated by > the fact those casting seem unnecessary: for each of the callbacks returning > bool in TAsyncChannel.h: > 1. the returned value is never checked > 2. they always return true > Attached is a trivial patch based on 0.7.0, tested on Ubuntu 11.04 and Visual > C++ 2010. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira