Fix witness/delegate count voting; fix unclean witness shutdown on mac

This commit is contained in:
Nathan Hourt 2015-07-08 16:00:22 -04:00
parent 2f9e636618
commit 6436f0142f
2 changed files with 12 additions and 10 deletions

View file

@ -112,6 +112,7 @@ void database::update_active_witnesses()
share_type stake_target = _total_voting_stake / 2;
share_type stake_tally = _witness_count_histogram_buffer[0];
size_t witness_count = 0;
if( stake_target > 0 )
while( (witness_count < _witness_count_histogram_buffer.size() - 1)
&& (stake_tally <= stake_target) )
stake_tally += _witness_count_histogram_buffer[++witness_count];
@ -177,6 +178,7 @@ void database::update_active_delegates()
uint64_t stake_target = _total_voting_stake / 2;
uint64_t stake_tally = _committee_count_histogram_buffer[0];
size_t delegate_count = 0;
if( stake_target > 0 )
while( (delegate_count < _committee_count_histogram_buffer.size() - 1)
&& (stake_tally <= stake_target) )
stake_tally += _committee_count_histogram_buffer[++delegate_count];

View file

@ -119,7 +119,7 @@ int main(int argc, char** argv) {
node.startup_plugins();
fc::promise<int>::ptr exit_promise = new fc::promise<int>("UNIX Signal Handler");
#ifdef __unix__
#if defined __APPLE__ || defined __unix__
fc::set_signal_handler([&exit_promise](int signal) {
exit_promise->set_value(signal);
}, SIGINT);