Inauguro con esta entrada una serie de posts que van a reflejar mis peores errores de programación y diseño. Empezamos con este, que me ha tenido cavilando durante dos horas: aunque la condición self.min_slack > 0 no se daba, me debanaba los sesos intentando ver por que nunca se ejecutaba el código del elif.
if self.aperiodic_ready_list
if self.min_slack > 0:
...
elif self.ready_list:
...
else:
...
return
La computadora sencillamente ejecuta lo que le pidamos, y con mover la condición del if interno al primer if se solucionaba el inconveniente. Como siempre, el principal problema esta entre el teclado y la silla ;)