From 50f8123fc082ff9b1666277175e6f79f666404e5 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 10 Apr 2013 02:57:11 -0500 Subject: gras: switched to using token for prio messages See #70 for more details --- lib/block_props.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/block_props.cpp') diff --git a/lib/block_props.cpp b/lib/block_props.cpp index 12ab339..8e68434 100644 --- a/lib/block_props.cpp +++ b/lib/block_props.cpp @@ -37,7 +37,10 @@ void BlockActor::handle_prop_access( //send the reply this->Send(reply, from); //ACK - this->highPrioAck(); + + //work could have been skipped by a high prio msg + //forcefully kick the task to recheck in a new call + this->Send(SelfKickMessage(), this->GetAddress()); } PMCC Block::_handle_prop_access(const std::string &key, const PMCC &value, const bool set) @@ -81,11 +84,11 @@ static PMCC prop_access_dispatcher(ActorType &actor, const std::string &key, con { PropAccessReceiver receiver; PropAccessMessage message; + message.prio_token = actor->prio_token; message.set = set; message.key = key; message.value = value; actor->Push(message, receiver.GetAddress()); - actor->highPrioPreNotify(); receiver.Wait(); if (not receiver.message.error.empty()) { -- cgit