mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-10 14:58:01 +00:00
Close any sockets opened if we fail to initiate stratum but have opened the socket.
This commit is contained in:
parent
6875dc46b6
commit
07ae6172cc
23
util.c
23
util.c
@ -1504,10 +1504,19 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void suspend_stratum(struct pool *pool)
|
||||||
|
{
|
||||||
|
applog(LOG_INFO, "Closing socket for stratum pool %d", pool->pool_no);
|
||||||
|
mutex_lock(&pool->stratum_lock);
|
||||||
|
pool->stratum_active = false;
|
||||||
|
mutex_unlock(&pool->stratum_lock);
|
||||||
|
CLOSESOCKET(pool->sock);
|
||||||
|
}
|
||||||
|
|
||||||
bool initiate_stratum(struct pool *pool)
|
bool initiate_stratum(struct pool *pool)
|
||||||
{
|
{
|
||||||
|
bool ret = false, recvd = false, noresume = false, sockd = false;
|
||||||
char s[RBUFSIZE], *sret = NULL, *nonce1, *sessionid;
|
char s[RBUFSIZE], *sret = NULL, *nonce1, *sessionid;
|
||||||
bool ret = false, recvd = false, noresume = false;
|
|
||||||
json_t *val = NULL, *res_val, *err_val;
|
json_t *val = NULL, *res_val, *err_val;
|
||||||
json_error_t err;
|
json_error_t err;
|
||||||
int n2size;
|
int n2size;
|
||||||
@ -1515,6 +1524,7 @@ bool initiate_stratum(struct pool *pool)
|
|||||||
if (!setup_stratum_curl(pool))
|
if (!setup_stratum_curl(pool))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
sockd = true;
|
||||||
resend:
|
resend:
|
||||||
if (!recvd) {
|
if (!recvd) {
|
||||||
if (pool->sessionid)
|
if (pool->sessionid)
|
||||||
@ -1622,20 +1632,13 @@ out:
|
|||||||
goto resend;
|
goto resend;
|
||||||
}
|
}
|
||||||
applog(LOG_DEBUG, "Initiate stratum failed");
|
applog(LOG_DEBUG, "Initiate stratum failed");
|
||||||
|
if (sockd)
|
||||||
|
suspend_stratum(pool);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void suspend_stratum(struct pool *pool)
|
|
||||||
{
|
|
||||||
applog(LOG_INFO, "Closing socket for stratum pool %d", pool->pool_no);
|
|
||||||
mutex_lock(&pool->stratum_lock);
|
|
||||||
pool->stratum_active = false;
|
|
||||||
mutex_unlock(&pool->stratum_lock);
|
|
||||||
CLOSESOCKET(pool->sock);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool restart_stratum(struct pool *pool)
|
bool restart_stratum(struct pool *pool)
|
||||||
{
|
{
|
||||||
if (pool->stratum_active)
|
if (pool->stratum_active)
|
||||||
|
Loading…
Reference in New Issue
Block a user