Commit 66c567ab2e2901537eccaeab063ce650666751e5

Con Kolivas 2013-03-09T12:13:12

Use curl_easy_cleanup to close any open stratum sockets.

diff --git a/util.c b/util.c
index fad9b08..a2d3a7e 100644
--- a/util.c
+++ b/util.c
@@ -1424,12 +1424,11 @@ static bool setup_stratum_curl(struct pool *pool)
 
 	mutex_lock(&pool->stratum_lock);
 	pool->stratum_active = false;
-	if (!pool->stratum_curl) {
-		pool->stratum_curl = curl_easy_init();
-		if (unlikely(!pool->stratum_curl))
-			quit(1, "Failed to curl_easy_init in initiate_stratum");
-	} else
-		CLOSESOCKET(pool->sock);
+	if (pool->stratum_curl)
+		curl_easy_cleanup(pool->stratum_curl);
+	pool->stratum_curl = curl_easy_init();
+	if (unlikely(!pool->stratum_curl))
+		quit(1, "Failed to curl_easy_init in initiate_stratum");
 	mutex_unlock(&pool->stratum_lock);
 	curl = pool->stratum_curl;
 
@@ -1509,8 +1508,9 @@ 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 = pool->stratum_notify = false;
+	curl_easy_cleanup(pool->stratum_curl);
+	pool->stratum_curl = NULL;
 	mutex_unlock(&pool->stratum_lock);
-	CLOSESOCKET(pool->sock);
 }
 
 bool initiate_stratum(struct pool *pool)