mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-22 20:44:19 +00:00
Sacrifice the ram of curl handles in stratum disconnects when we have built with old libcurl to avoid crashes.
This commit is contained in:
parent
b5b3ca4911
commit
195ea63589
8
util.c
8
util.c
@ -1508,7 +1508,15 @@ void suspend_stratum(struct pool *pool)
|
|||||||
applog(LOG_INFO, "Closing socket for stratum pool %d", pool->pool_no);
|
applog(LOG_INFO, "Closing socket for stratum pool %d", pool->pool_no);
|
||||||
mutex_lock(&pool->stratum_lock);
|
mutex_lock(&pool->stratum_lock);
|
||||||
pool->stratum_active = pool->stratum_notify = false;
|
pool->stratum_active = pool->stratum_notify = false;
|
||||||
|
#if CURL_HAS_KEEPALIVE
|
||||||
curl_easy_cleanup(pool->stratum_curl);
|
curl_easy_cleanup(pool->stratum_curl);
|
||||||
|
#else
|
||||||
|
/* Old versions of libcurl seem to crash occasionally on this since
|
||||||
|
* the socket is modified in keep_sockalive in ways curl does not
|
||||||
|
* know about so sacrifice the ram knowing we leak one curl handle
|
||||||
|
* every time we disconnect stratum. */
|
||||||
|
CLOSESOCKET(pool->sock);
|
||||||
|
#endif
|
||||||
pool->stratum_curl = NULL;
|
pool->stratum_curl = NULL;
|
||||||
mutex_unlock(&pool->stratum_lock);
|
mutex_unlock(&pool->stratum_lock);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user