Revert to pre pool merge
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
diff --git a/cgminer.c b/cgminer.c
index ec28b94..ec06278 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 110d06f..2090459 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;
}