|
|
@ -120,6 +120,8 @@ static bool opt_quiet = false; |
|
|
|
static int opt_retries = 10; |
|
|
|
static int opt_retries = 10; |
|
|
|
static int opt_fail_pause = 30; |
|
|
|
static int opt_fail_pause = 30; |
|
|
|
static int opt_log_interval = 5; |
|
|
|
static int opt_log_interval = 5; |
|
|
|
|
|
|
|
int opt_vectors; |
|
|
|
|
|
|
|
int opt_worksize; |
|
|
|
int opt_scantime = 60; |
|
|
|
int opt_scantime = 60; |
|
|
|
static json_t *opt_config; |
|
|
|
static json_t *opt_config; |
|
|
|
static const bool opt_time = true; |
|
|
|
static const bool opt_time = true; |
|
|
@ -231,6 +233,12 @@ static struct option_help options_help[] = { |
|
|
|
"(-u USERNAME) Username for bitcoin JSON-RPC server " |
|
|
|
"(-u USERNAME) Username for bitcoin JSON-RPC server " |
|
|
|
"(default: " DEF_RPC_USERNAME ")" }, |
|
|
|
"(default: " DEF_RPC_USERNAME ")" }, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ "vectors N", |
|
|
|
|
|
|
|
"(-v N) Override detected optimal vector width (default: detected, 1,2 or 4)" }, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ "worksize N", |
|
|
|
|
|
|
|
"(-w N) Override detected optimal worksize (default: detected)" }, |
|
|
|
|
|
|
|
|
|
|
|
{ "pass PASSWORD", |
|
|
|
{ "pass PASSWORD", |
|
|
|
"(-p PASSWORD) Password for bitcoin JSON-RPC server " |
|
|
|
"(-p PASSWORD) Password for bitcoin JSON-RPC server " |
|
|
|
"(default: " DEF_RPC_PASSWORD ")" }, |
|
|
|
"(default: " DEF_RPC_PASSWORD ")" }, |
|
|
@ -257,6 +265,8 @@ static struct option options[] = { |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
{ "url", 1, NULL, 1001 }, |
|
|
|
{ "url", 1, NULL, 1001 }, |
|
|
|
{ "user", 1, NULL, 'u' }, |
|
|
|
{ "user", 1, NULL, 'u' }, |
|
|
|
|
|
|
|
{ "vectors", 1, NULL, 'v' }, |
|
|
|
|
|
|
|
{ "worksize", 1, NULL, 'w' }, |
|
|
|
{ "userpass", 1, NULL, 1002 }, |
|
|
|
{ "userpass", 1, NULL, 1002 }, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@ -902,7 +912,7 @@ static void *gpuminer_thread(void *userdata) |
|
|
|
|
|
|
|
|
|
|
|
gettimeofday(&tv_start, NULL); |
|
|
|
gettimeofday(&tv_start, NULL); |
|
|
|
globalThreads[0] = threads; |
|
|
|
globalThreads[0] = threads; |
|
|
|
localThreads[0] = clState->max_work_size / vectors; |
|
|
|
localThreads[0] = clState->work_size; |
|
|
|
|
|
|
|
|
|
|
|
while (1) { |
|
|
|
while (1) { |
|
|
|
struct timeval tv_end, diff, tv_workstart; |
|
|
|
struct timeval tv_end, diff, tv_workstart; |
|
|
@ -1164,6 +1174,20 @@ static void parse_arg (int key, char *arg) |
|
|
|
free(rpc_user); |
|
|
|
free(rpc_user); |
|
|
|
rpc_user = strdup(arg); |
|
|
|
rpc_user = strdup(arg); |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
case 'v': |
|
|
|
|
|
|
|
v = atoi(arg); |
|
|
|
|
|
|
|
if (v != 1 && v != 2 && v != 4) |
|
|
|
|
|
|
|
show_usage(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
opt_vectors = v; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 'w': |
|
|
|
|
|
|
|
v = atoi(arg); |
|
|
|
|
|
|
|
if (v < 1 || v > 9999) /* sanity check */ |
|
|
|
|
|
|
|
show_usage(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
opt_worksize = v; |
|
|
|
|
|
|
|
break; |
|
|
|
case 1001: /* --url */ |
|
|
|
case 1001: /* --url */ |
|
|
|
if (strncmp(arg, "http://", 7) && |
|
|
|
if (strncmp(arg, "http://", 7) && |
|
|
|
strncmp(arg, "https://", 8)) |
|
|
|
strncmp(arg, "https://", 8)) |
|
|
|