Very interesting. So you're AI queues up an "Update Path" job to your pathfinder processor and enters itself into a "wait for path update" state so it can continue to monitor things. Then before the pathfinder thread rejoins, it fires off an "Update AI with Path" event which the AI consumes at which point it changes itself back to some sort of action state? Very slick!
Yes, the same principle (I'm using BHTs, nost only FSMs, which can take control from the waiting node ).
Are the events managed via the AI or are they managed via the pathfinder processor, or some game event manager?
I have a general purpose bus system in my engine over which several components can communicate via events.