diff options
author | Josh Blum | 2013-04-10 02:57:11 -0500 |
---|---|---|
committer | Josh Blum | 2013-04-10 02:57:57 -0500 |
commit | 50f8123fc082ff9b1666277175e6f79f666404e5 (patch) | |
tree | 54ddb4d742c2f03fb083e5353db02767b4828c29 /lib/block_props.cpp | |
parent | fb55fd6737902ed6270c2518bdc81a6971f9b3a1 (diff) | |
download | sandhi-50f8123fc082ff9b1666277175e6f79f666404e5.tar.gz sandhi-50f8123fc082ff9b1666277175e6f79f666404e5.tar.bz2 sandhi-50f8123fc082ff9b1666277175e6f79f666404e5.zip |
gras: switched to using token for prio messages
See #70 for more details
Diffstat (limited to 'lib/block_props.cpp')
-rw-r--r-- | lib/block_props.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
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()) { |