From 84bb540b1b63317b05de0594b19260a3d5cf106d Mon Sep 17 00:00:00 2001 From: neverlord Date: Fri, 27 Jul 2012 22:15:03 +0200 Subject: [PATCH] fixed bug regarding synchronous & asynchronous timeouts (Issue 42) --- cppa/detail/receive_policy.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cppa/detail/receive_policy.hpp b/cppa/detail/receive_policy.hpp index 2e1d9b6955..64ee4a602a 100644 --- a/cppa/detail/receive_policy.hpp +++ b/cppa/detail/receive_policy.hpp @@ -341,7 +341,9 @@ class receive_policy { handle_timeout(client, fun); if (awaited_response.valid()) { client->mark_arrived(awaited_response); + client->remove_handler(awaited_response); } + hm_cleanup(client, policy); return hm_msg_handled; } case sync_response: { @@ -355,9 +357,9 @@ class receive_policy { # else fun(node->msg); # endif - hm_cleanup(client, policy); client->mark_arrived(awaited_response); client->remove_handler(awaited_response); + hm_cleanup(client, policy); return hm_msg_handled; } return hm_cache_msg;