|
Boost Users : |
From: Igor R (boost.lists_at_[hidden])
Date: 2008-07-27 07:29:34
Hello,
When trying to terminate an asynchronous_state_machine I get the error
message: "Expression: list iterator not decrementable".
This occures in state_machine::terminate_impl( state_base_type &
theState, bool performFullExit ) in the line: else if (
currentStates_.begin() == --currentStatesEnd_ ), when trying to
perform --currentStatesEnd_, as currentStatesEnd_== 0xcdcdcdcd (i.e.
uninitialized). theState == outermost state of the machine.
I believe the problem is actually somewhere in my own code, so my
question is what it could be, according to the above symptom?
I request the termination in the following way:
struct ServerImpl
{
//....
shared_ptr<state_chart::fifo_scheduler<> > sessionScheduler_;
state_chart::fifo_scheduler<>::processor_handle sessionProcessor_;
~ServerImpl()
{
// the scheduler resides in some pool, so it continues living
after ~ServerImpl
sessionScheduler_->terminate_processor(sessionProcessor_);
}
Thank you,
Igor'.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net