From 6875dc46b67ffa2d2a75a9bdfefe865adfeffc1d Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Thu, 7 Mar 2013 13:50:25 +1100 Subject: [PATCH] Close any existing stratum socket if we are attempting to restart stratum so the pool knows the connection has gone. --- util.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/util.c b/util.c index e95334c8..9bde6e36 100644 --- a/util.c +++ b/util.c @@ -1627,15 +1627,6 @@ out: return ret; } -bool restart_stratum(struct pool *pool) -{ - if (!initiate_stratum(pool)) - return false; - if (!auth_stratum(pool)) - return false; - return true; -} - void suspend_stratum(struct pool *pool) { applog(LOG_INFO, "Closing socket for stratum pool %d", pool->pool_no); @@ -1645,6 +1636,17 @@ void suspend_stratum(struct pool *pool) CLOSESOCKET(pool->sock); } +bool restart_stratum(struct pool *pool) +{ + if (pool->stratum_active) + suspend_stratum(pool); + if (!initiate_stratum(pool)) + return false; + if (!auth_stratum(pool)) + return false; + return true; +} + void dev_error(struct cgpu_info *dev, enum dev_reason reason) { dev->device_last_not_well = time(NULL);