Browse Source

Merge branch 'master' into usb-dev

Con Kolivas 13 years ago
parent
commit
3c91b292a2
4 changed files with 28 additions and 5 deletions
  1. 22 0
      API.class
  2. 4 3
      api-example.c
  3. 1 1
      configure.ac
  4. 1 1
      util.c

+ 22 - 0
API.class

@@ -1,3 +1,25 @@
+Version 2.10.5 - February 7, 2013
+
+- Fix logic fail on partial writes with stratum send that was leading to corrupt
+message submissions.
+- Do not consider every call to stratum_resumed a pool recovery unless it was
+actually idle.
+- Do not enable the pool disable on reject feature unless explicitly enabled
+with --disable-rejecting.
+- Stratum disconnect shares - count total against stale
+- Use sanity checking to prevent a possible overflow with invalid data being
+given by the pool for difficulty as reported by luke-Jr.
+- Check for calloc failure for completeness in gen_stratum_work.
+- Cache the coinbase length to speed up stratum work generation.
+- Cache the header length when generating stratum work to avoid calculating it
+on every work generation, and to only need one alloc+sprintf, speeding up work
+generation.
+- Use heap ram for coinbase in gen_stratum_work, zeroing it before use.
+- Provide a wrapper for aligning lengths of size_t to 4 byte boundaries.
+- Fix memory leak on stratum share submission.
+- Zero the best share string memory when zeroing stats.
+
+
 Version 2.10.4 - December 29, 2012
 
 - Change the pool stratum socket buffer to be dynamically allocated to

+ 4 - 3
api-example.c

@@ -4698,9 +4698,10 @@ static void stratum_resumed(struct pool *pool)
 {
 	if (!pool->stratum_notify)
 		return;
-	applog(LOG_INFO, "Stratum connection to pool %d resumed", pool->pool_no);
-	pool_tclear(pool, &pool->idle);
-	pool_resus(pool);
+	if (pool_tclear(pool, &pool->idle)) {
+		applog(LOG_INFO, "Stratum connection to pool %d resumed", pool->pool_no);
+		pool_resus(pool);
+	}
 }
 
 /* One stratum thread per pool that has stratum waits on the socket checking

+ 1 - 1
configure.ac

@@ -2,7 +2,7 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [2])
 m4_define([v_min], [10])
-m4_define([v_mic], [4])
+m4_define([v_mic], [5])
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_ver], [v_maj.v_min.v_mic])
 m4_define([lt_rev], m4_eval(v_maj + v_min))

+ 1 - 1
util.c

@@ -932,7 +932,7 @@ static bool __stratum_send(struct pool *pool, char *s, ssize_t len)
 			sent = 0;
 		}
 		ssent += sent;
-		len -= ssent;
+		len -= sent;
 	}
 
 	pool->cgminer_pool_stats.times_sent++;