Browse Source

Ignore responses from bflsc as INPROCESS

Con Kolivas 12 years ago
parent
commit
9a86702955
2 changed files with 10 additions and 3 deletions
  1. 8 3
      driver-bflsc.c
  2. 2 0
      driver-bflsc.h

+ 8 - 3
driver-bflsc.c

@@ -1302,7 +1302,7 @@ static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *non
 {
 	struct bflsc_info *sc_info = (struct bflsc_info *)(bflsc->device_data);
 	char **items, *firstname, **fields, *lf;
-	int que, i, lines, count;
+	int que = 0, i, lines, count;
 	char xlink[17];
 	char *tmp, *tmp2;
 	bool res;
@@ -1311,13 +1311,19 @@ static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *non
 
 	xlinkstr(xlink, sizeof(xlink), dev, sc_info);
 
+	if (!strncasecmp(buf, BFLSC_INPROCESS, BFLSC_INPROCESS_LEN)) {
+		tmp = str_text(buf);
+		applog(LOG_WARNING, "%s%i:%s in process response (%s) ignored",
+		       bflsc->drv->name, bflsc->device_id, xlink, tmp);
+		free(tmp);
+		goto arigatou;
+	}
 	res = tolines(bflsc, dev, buf, &lines, &items, C_GETRESULTS);
 	if (!res || lines < 1) {
 		tmp = str_text(buf);
 		applog(LOG_ERR, "%s%i:%s empty result (%s) ignored",
 					bflsc->drv->name, bflsc->device_id, xlink, tmp);
 		free(tmp);
-		que = 0;
 		goto arigatou;
 	}
 
@@ -1326,7 +1332,6 @@ static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *non
 		applog(LOG_ERR, "%s%i:%s result too small (%s) ignored",
 					bflsc->drv->name, bflsc->device_id, xlink, tmp);
 		free(tmp);
-		que = 0;
 		goto arigatou;
 	}
 

+ 2 - 0
driver-bflsc.h

@@ -263,6 +263,8 @@ struct SaveString {
 #define BFLSC_ERRSIG_LEN (sizeof(BFLSC_ERRSIG)-1)
 #define BFLSC_OKQ "OK:QUEUED"
 #define BFLSC_OKQ_LEN (sizeof(BFLSC_OKQ)-1)
+#define BFLSC_INPROCESS "INPROCESS"
+#define BFLSC_INPROCESS_LEN (sizeof(BFLSC_INPROCESS)-1)
 // Followed by N=1..5
 #define BFLSC_OKQN "OK:QUEUED "
 #define BFLSC_OKQN_LEN (sizeof(BFLSC_OKQN)-1)