Well these things are difficult to understand when you don't show any code/pseudo-code. If you can, post the algorithm you implemented. The design idea you describe does not seem like it is inherently livelocks, it all depends on your actual algorithm and implementation.