is it allowed to call fifo_scheduler<>::operator() from state constructor?

If yes, then let's assume "scheduler" and "processor" are objects of 
"fifo_scheduler<>" and "fifo_scheduler<>::processor_handle" types 
respectively in the some state constructor code below:

State(my_context ctx): my_base(ctx)
    boost::intrusive_ptr<Event> pEvent(new Event());

    // If both lines [A] and [B] are uncommented 
    // then "unconsumed_event" method is called twice.
    // If just line [A] is uncommented then "unconsumed_event" method is called.
    // If just line [B] is uncommented then certain "react" method is called.

    // scheduler.queue_event(processor, pEvent); // [A]
    // this->post_event(Event()); // [B]


Note constructor calls "scheduler()" at the end.

Other questions:
Is this code correct and runs expectedly as described in comments?
Why "unconsumed_event" is called if use "queue_event" instead of "post_event"?