Commit e532ac354a70743f2f4aa526d4d2c4c63a5d9f42

Con Kolivas 2011-07-18T11:37:33

Only clear the longpoll block data if we successfully received a longpoll, and do it before converting the longpoll data to work to avoid the staging thread believing it got the new work before the longpoll.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/main.c b/main.c
index 08dc54a..c2c471a 100644
--- a/main.c
+++ b/main.c
@@ -1891,6 +1891,7 @@ static void *longpoll_thread(void *userdata)
 		val = json_rpc_call(curl, lp_url, rpc_userpass, rpc_req,
 				    false, true);
 		if (likely(val)) {
+			memcpy(longpoll_block, current_block, 36);
 			convert_to_work(val);
 			failures = 0;
 			json_decref(val);
@@ -1922,7 +1923,6 @@ static void *longpoll_thread(void *userdata)
 				goto out;
 			}
 		}
-		memcpy(longpoll_block, current_block, 36);
 	}
 
 out: