Commit 56068d6839f399269d3a35eee9603dba547c35e3

Con Kolivas 2013-03-09T10:30:58

Close any open sockets when reusing a curl handle and reopen the socket whenever we're retrying stratum.

diff --git a/util.c b/util.c
index fd0e673..7ae378a 100644
--- a/util.c
+++ b/util.c
@@ -1428,7 +1428,8 @@ static bool setup_stratum_curl(struct pool *pool)
 		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);
 	mutex_unlock(&pool->stratum_lock);
 	curl = pool->stratum_curl;
 
@@ -1520,11 +1521,12 @@ bool initiate_stratum(struct pool *pool)
 	json_error_t err;
 	int n2size;
 
+resend:
 	if (!setup_stratum_curl(pool))
 		goto out;
 
 	sockd = true;
-resend:
+
 	if (recvd) {
 		/* Get rid of any crap lying around if we're resending */
 		clear_sock(pool);