No, I did what you describe, the problem is more deep.MyRouterClient : public FIX8::MyNameSpace::Generated_Routerclass MySessionClient{MyRouterClient _router;}I got down to the problem of polymorphism. The operator()(const ExecutionReport *msg) is never called, none of the Router class( Router, Generated_Router, MyRouterClient)'s operator()(const ExecutionReport *msg) is called (I put print out in all of them, but nothing got print out).I did another test, put a member variable and test() function in Generated_Router and MyRouterClient. Do static_cast to Generated_Router, then print out the value, and call the test() function. The value is correct, but the test() function is never called.class ExecutionReport : public Message{ ...bool process(Router& rt) const { return (static_cast< Generated_Router&>(rt))(this);
/dakka
--
You received this message because you are subscribed to the Google Groups "fix8 developer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fix8-develope...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Have you changed the thread call to see is this resolves it?
int join() { return pthread_join(_tid, reinterpret_cast<void **>(&_exitval)) ? -1 : _exitval; }
to
int join(){void *rptr(&_exitval);return pthread_join(_tid, &rptr) ? -1 : _exitval;}
--
Modern open source FIX framework featuring complete schema customisation, high performance and fast development.