From f15fbdbc705480fae65a7f84b67cb41d102c5103 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Fri, 13 Feb 2015 14:18:30 +1100 Subject: [PATCH] Receive diff from the upstream proxy and add share submission to the correct psend list --- src/generator.c | 8 ++++---- src/stratifier.c | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/generator.c b/src/generator.c index ddf66d4f..2491cc1d 100644 --- a/src/generator.c +++ b/src/generator.c @@ -1285,10 +1285,10 @@ static void submit_share(gdata_t *gdata, json_t *val) json_object_set_nocheck(val, "id", json_integer(share->id)); /* Add the new message to the psend list */ - mutex_lock(&proxi->psend_lock); - DL_APPEND(proxi->psends, msg); - pthread_cond_signal(&proxi->psend_cond); - mutex_unlock(&proxi->psend_lock); + mutex_lock(&proxy->psend_lock); + DL_APPEND(proxy->psends, msg); + pthread_cond_signal(&proxy->psend_cond); + mutex_unlock(&proxy->psend_lock); } static void clear_notify(notify_instance_t *ni) diff --git a/src/stratifier.c b/src/stratifier.c index e9775259..d3682c86 100644 --- a/src/stratifier.c +++ b/src/stratifier.c @@ -1288,11 +1288,6 @@ static void update_diff(ckpool_t *ckp, const char *cmd) proxy_t *proxy; json_t *val; - if (unlikely(!sdata->current_workbase)) { - LOGINFO("No current workbase to update diff yet"); - return; - } - if (unlikely(strlen(cmd) < 6)) { LOGWARNING("Zero length string passed to update_diff"); return; @@ -1320,6 +1315,11 @@ static void update_diff(ckpool_t *ckp, const char *cmd) dsdata = proxy->sdata; + if (unlikely(!dsdata->current_workbase)) { + LOGINFO("No current workbase to update diff yet"); + return; + } + ck_wlock(&dsdata->workbase_lock); old_diff = proxy->diff; dsdata->current_workbase->diff = dsdata->proxy->diff = diff;