it's better to add additional 
if(stop_) return;
after getting this mutex

it's better to return true/false (false on stop_ == true), to correctly process value (otherwise it is impossible to check was message returned or not)