From 90d82aa61d7fbeff2948758b68a7d4a81d727184 Mon Sep 17 00:00:00 2001 From: Paul Sheppard Date: Mon, 25 Jun 2012 10:27:08 -0700 Subject: [PATCH] Revert to pre pool merge --- cgminer.c | 62 ++++++++++++++--------------------------------- driver-bitforce.c | 7 +++--- 2 files changed, 22 insertions(+), 47 deletions(-) diff --git a/cgminer.c b/cgminer.c index ec28b945..ec062789 100644 --- a/cgminer.c +++ b/cgminer.c @@ -192,11 +192,11 @@ unsigned int total_go, total_ro; struct pool *pools[MAX_POOLS]; static struct pool *currentpool = NULL; -enum pool_enable opt_pool_enabled = POOL_ENABLED; + int total_pools; enum pool_strategy pool_strategy = POOL_FAILOVER; int opt_rotate_period; -static int total_urls = 0, total_users = 0, total_passes = 0, total_userpasses = 0; +static int total_urls, total_users, total_passes, total_userpasses; #ifndef HAVE_CURSES const @@ -405,9 +405,6 @@ static struct pool *add_pool(void) /* Make sure the pool doesn't think we've been idle since time 0 */ pool->tv_idle.tv_sec = ~0UL; - pool->enabled = POOL_ENABLED; - pool->idle = true; - return pool; } @@ -593,18 +590,6 @@ static char *set_userpass(const char *arg) return NULL; } -static char *set_pool_disabled(enum pool_enable *pool_state) -{ - struct pool *pool; - *pool_state = POOL_DISABLED; // This (and opt_pool_enabled) does nothing. Here for compatability - - if (total_pools) { - pool = pools[total_pools - 1]; - pool->enabled = POOL_DISABLED; - } - return NULL; -} - static char *enable_debug(bool *flag) { *flag = true; @@ -1001,9 +986,6 @@ static struct opt_table opt_config_table[] = { OPT_WITH_ARG("--userpass|-O", set_userpass, NULL, NULL, "Username:Password pair for bitcoin JSON-RPC server"), - OPT_WITHOUT_ARG("--disable-pool", - set_pool_disabled, &opt_pool_enabled, - "Start with pool disabled."), OPT_WITH_ARG("--pools", opt_set_bool, NULL, NULL, opt_hidden), OPT_ENDTABLE @@ -2712,24 +2694,15 @@ void remove_pool(struct pool *pool) void write_config(FILE *fcfg) { - int i = 0; - int j = 0; - char *s; + int i; - /* Write pool values in priority order */ + /* Write pool values */ fputs("{\n\"pools\" : [", fcfg); - while((j < total_pools) && (i < total_pools)) { - if(pools[i]->prio == j) { - fprintf(fcfg, "\n\t{\n\t\t\"url\" : \"%s\",", pools[i]->rpc_url); - fprintf(fcfg, "\n\t\t\"user\" : \"%s\",", pools[i]->rpc_user); - fprintf(fcfg, "\n\t\t\"pass\" : \"%s\"", pools[i]->rpc_pass); - s = (pools[i]->enabled == POOL_DISABLED) ? ",\n\t\t\"disable-pool\" : true\n\t}%s" : "\n\t}%s"; - fprintf(fcfg, s, (j < total_pools - 1) ? "," : ""); - j++; - i=0; - } else - i++; - } + for(i = 0; i < total_pools; i++) { + fprintf(fcfg, "%s\n\t{\n\t\t\"url\" : \"%s\",", i > 0 ? "," : "", pools[i]->rpc_url); + fprintf(fcfg, "\n\t\t\"user\" : \"%s\",", pools[i]->rpc_user); + fprintf(fcfg, "\n\t\t\"pass\" : \"%s\"\n\t}", pools[i]->rpc_pass); + } fputs("\n]\n", fcfg); #ifdef HAVE_OPENCL @@ -5140,14 +5113,8 @@ int main(int argc, char *argv[]) quit(1, "Failed to find colon delimiter in userpass"); } } - /* Set the currentpool to pool first enabled */ - for (i = 0; i < total_pools; i++) { - currentpool = pools[i]; - if (currentpool->enabled == POOL_ENABLED) - break; - } - if (i == total_pools) - quit(1, "All pools disabled!"); + /* Set the currentpool to pool 0 */ + currentpool = pools[0]; #ifdef HAVE_SYSLOG_H if (use_syslog) @@ -5200,6 +5167,13 @@ int main(int argc, char *argv[]) if (opt_benchmark) goto begin_bench; + for (i = 0; i < total_pools; i++) { + struct pool *pool = pools[i]; + + pool->enabled = POOL_ENABLED; + pool->idle = true; + } + applog(LOG_NOTICE, "Probing for an alive pool"); do { /* Look for at least one active pool before starting */ diff --git a/driver-bitforce.c b/driver-bitforce.c index 110d06f0..20904596 100644 --- a/driver-bitforce.c +++ b/driver-bitforce.c @@ -363,10 +363,11 @@ static uint64_t bitforce_scanhash(struct thr_info *thr, struct work *work, uint6 if (!ret) { ret = 1; - applog(LOG_ERR, "BFL%i: Comms error", bitforce->device_id); + applog(LOG_ERR, "BFL%i: Comms error, going to recover mode", bitforce->device_id); bitforce->device_last_not_well = time(NULL); - bitforce->device_not_well_reason = REASON_DEV_NOSTART; - bitforce->dev_nostart_count++; + bitforce->device_not_well_reason = REASON_THREAD_ZERO_HASH; + bitforce->thread_zero_hash_count++; + bitforce->deven = DEV_RECOVER; } return ret; }