Thread: Re: [PATCH] Re: [Opentnl-general] I've been making some updates recently...
Brought to you by:
mark_frohnmayer,
s_alanet
From: Mark F. <ma...@ga...> - 2005-03-01 01:58:30
Attachments:
method-dispatch-multiple-inheritance.patch
|
Hey Brad, Thanks for the patch... the contribution form has been updated. I'll integrate this, but I think I'll set it to use static_cast rather than dynamic, since the code calls a function to check the class first which does a dynamic_cast already, and as written it will seg fault on a NULL pointer access anyway if the dynamic_cast fails :) - Mark --- Brad Kittenbrink <br...@wi...> wrote: From: Brad Kittenbrink <br...@wi...> Date: Mon, 28 Feb 2005 17:52:19 -0500 To: ope...@li... Subject: [PATCH] Re: [Opentnl-general] I've been making some updates recently... they will break your code! I'm new to opentnl, so please forgive me if I fail some list etiquette... With regard to the new RPC-related code, the FunctorDecl template classes do not support multiple inheritance, I've attached a patch to add support. However, I'm not sure that this patch doesn't break assumptions made elsewhere. In particular, I switched Functor::dispatch to take an Object* for the argument instead of a void*. This caused no breakage for me, but it seems like it was clearly unintended in the design of the Functor class. Anyways here's my first attempt at a patch. In the absence of the formal contribution form (http://www.opentnl.org/assignment.html), I don't know what to do from here though. -Brad Kittenbrink br...@wi... Mark Frohnmayer wrote: > The CVS repo now has a bunch of RPC-related changes in. The new > RPC/journal/ThreadQueue macros have an extra parameter which is the > argument name list -- so > > TNL_IMPLEMENT_RPC(SomeObject, SomeMethod, (S32 someArg1, U32 > someArg2), ...) > > becomes > > TNL_IMPLEMENT_RPC(SomeObject, SomeMethod, (S32 someArg1, U32 > someArg2), (someArg1, someArg2), ...) > > The reason for this is that the functions for parsing the RPC arg > lists, marshalling and unmarshalling RPC call data and the assembly > language dispatch functions have all been removed and replaced by a > template based system. The new system is substantially more stable > and extensible to new data types. Visual C++ 6.0 is no longer a TNL > supported compiler. > > I'll be updating the packages as well as the documentation over the > next while... > > - Mark > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Opentnl-general mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opentnl-general > > |
From: Brad K. <br...@wi...> - 2005-03-01 17:24:23
|
Cool, I thought static_cast would be better, but I wanted to make the error extra noticable if I was making invalid assumptions about some of the non-RPC related code paths calling this code. I'll send along that assignment form shortly. -Brad Mark Frohnmayer wrote: > Hey Brad, > > Thanks for the patch... the contribution form has been updated. I'll integrate this, but I think I'll set it to use static_cast rather than dynamic, since the code calls a function to check the class first which does a dynamic_cast already, and as written it will seg fault on a NULL pointer access anyway if the dynamic_cast fails :) > > - Mark > |