I'm new to EOS, and was reading the whitepaper How can developers prevent abusive or spammy transactions on dApps if it's free for users to use? And I found that if a block producer does not produce any block for more than 24 hours he is taken out from consideration for producing blocks. However, this part of consensus I was unable to find in the eosio code. My question is, is this part actually implemented on EOS? is the BP actually set to inactive automatically? or other BP's have to vote manually to set him inactive?
The only part which I've found till now which mentions setting the BP to inactive after 24hours is libraries/testing/tester.cpp I think this is only for testing purpose and not actually implemented for a production network. I'm not very sure.