OPENBUS-3006 busservices não para após shutdown
Amadeu Andrade Barbosa Junior authored
A condição de self.sweeper ~= true não era satisfeita para que o código
do shutdown chamasse o unschedule do sweeper. Uma situação exemplo era
que logo após iniciar o busservices, a self.sweeper era marcada como
true mas poderia demorar por algum escalonamento antes de self.sweeper
assumir o valor da cothread corrente e dormir pelo próximo ciclo de
renovação.

Essa correção faz com que a self.sweeper assuma o quanto antes o valor da
cothread corrente e só então durma pelo primeiro ciclo de renovação.
Assim se ela estiver dormindo enquanto o shutdown é invocado, ela será
removida da fila de prontos. Caso ela já tenha acordado, o shutdown vai
marcá-la como false para parar o laço da renovação de leasing.
e4774cf0
Name Last commit Last update