Hola,
No se me ocurrió utilizar primitivas de listas entonces en mi solución hice lo siguiente:
Como no tengo los while en función del tamaño de la lista, el planificador le da prioridad al inspector siempre para revisar la lista (tengo una guarda con un count = 0 para citas del inspector que si es cierta habilita a aceptar citas de los puestos).
En caso de que luego de habilitarse la guarda llegue una cita del inspector no pasa nada porque como sólo atiendo una cita por vez u atiendo a un puesto que me reporta que terminó un tanque u atiendo al inspector. Es decir, seguro sólo acepto reportes de tanques cuando no tenía uan previa consulta del inspector.
Lo que hago entonces luego de aceptar una cita de un Puesto es verificar previo a volver al loop/select es si la lista está completa o no y si está completa ahí actualizo el lote a fabricar y la lista de prontos.
Está bien encarado de dicha forma? En todo caso puedo adjuntar el código propuesto si quedó muy confuso lo que dije.
Desde ya muchas gracias.
Saludos,
Octavio