Browse Source

Bugfix: Stratum Fix debug logging of initial mining.subscribe command

Luke Dashjr 12 years ago
parent
commit
cdddd4be5c
3 changed files with 6 additions and 5 deletions
  1. 1 1
      libblkmaker
  2. 3 3
      util.c
  3. 2 1
      util.h

+ 1 - 1
libblkmaker

@@ -1 +1 @@
-Subproject commit 7114d5ee8a7239e4494f86194d6fd95cca83e385
+Subproject commit 8f4bb3ee9f43405203fef6f64ca938dc7933a060

+ 3 - 3
util.c

@@ -1158,7 +1158,7 @@ static enum send_ret __stratum_send(struct pool *pool, char *s, ssize_t len)
 	return SEND_OK;
 	return SEND_OK;
 }
 }
 
 
-bool stratum_send(struct pool *pool, char *s, ssize_t len)
+bool _stratum_send(struct pool *pool, char *s, ssize_t len, bool force)
 {
 {
 	enum send_ret ret = SEND_INACTIVE;
 	enum send_ret ret = SEND_INACTIVE;
 
 
@@ -1166,7 +1166,7 @@ bool stratum_send(struct pool *pool, char *s, ssize_t len)
 		applog(LOG_DEBUG, "Pool %u: SEND: %s", pool->pool_no, s);
 		applog(LOG_DEBUG, "Pool %u: SEND: %s", pool->pool_no, s);
 
 
 	mutex_lock(&pool->stratum_lock);
 	mutex_lock(&pool->stratum_lock);
-	if (pool->stratum_active)
+	if (pool->stratum_active || force)
 		ret = __stratum_send(pool, s, len);
 		ret = __stratum_send(pool, s, len);
 	mutex_unlock(&pool->stratum_lock);
 	mutex_unlock(&pool->stratum_lock);
 
 
@@ -1903,7 +1903,7 @@ resend:
 	} else
 	} else
 		sprintf(s, "{\"id\": %d, \"method\": \"mining.subscribe\", \"params\": []}", swork_id++);
 		sprintf(s, "{\"id\": %d, \"method\": \"mining.subscribe\", \"params\": []}", swork_id++);
 
 
-	if (__stratum_send(pool, s, strlen(s)) != SEND_OK) {
+	if (!_stratum_send(pool, s, strlen(s), true)) {
 		applog(LOG_DEBUG, "Failed to send s in initiate_stratum");
 		applog(LOG_DEBUG, "Failed to send s in initiate_stratum");
 		goto out;
 		goto out;
 	}
 	}

+ 2 - 1
util.h

@@ -71,7 +71,8 @@ extern void real_block_target(unsigned char *target, const unsigned char *data);
 extern bool hash_target_check(const unsigned char *hash, const unsigned char *target);
 extern bool hash_target_check(const unsigned char *hash, const unsigned char *target);
 extern bool hash_target_check_v(const unsigned char *hash, const unsigned char *target);
 extern bool hash_target_check_v(const unsigned char *hash, const unsigned char *target);
 
 
-bool stratum_send(struct pool *pool, char *s, ssize_t len);
+bool _stratum_send(struct pool *pool, char *s, ssize_t len, bool force);
+#define stratum_send(pool, s, len)  _stratum_send(pool, s, len, false)
 bool sock_full(struct pool *pool);
 bool sock_full(struct pool *pool);
 char *recv_line(struct pool *pool);
 char *recv_line(struct pool *pool);
 bool parse_method(struct pool *pool, char *s);
 bool parse_method(struct pool *pool, char *s);