Ticket #9319: 9319.patch
File 9319.patch, 2.0 KB (added by , 9 years ago) |
---|
-
future.hpp
981 981 virtual void execute(boost::unique_lock<boost::mutex>& lck) { 982 982 try 983 983 { 984 this->mark_finished_with_result_internal(func_(), lck); 984 Fp local_fuct=boost::move(func_); 985 relocker relock(lck); 986 Rp res = local_fuct(); 987 relock.lock(); 988 this->mark_finished_with_result_internal(boost::move(res), lck); 985 989 } 986 990 catch (...) 987 991 { … … 1030 1034 virtual void execute(boost::unique_lock<boost::mutex>& lck) { 1031 1035 try 1032 1036 { 1033 func_(); 1037 Fp local_fuct=boost::move(func_); 1038 relocker relock(lck); 1039 local_fuct(); 1040 relock.lock(); 1034 1041 this->mark_finished_with_result_internal(lck); 1035 1042 } 1036 1043 catch (...) … … 4133 4140 virtual void execute(boost::unique_lock<boost::mutex>& lck) { 4134 4141 try 4135 4142 { 4136 this->mark_finished_with_result_internal(continuation(boost::move(parent)), lck); 4143 Fp local_fuct=boost::move(continuation); 4144 F ftmp = boost::move(parent); 4145 relocker relock(lck); 4146 Rp res = local_fuct(boost::move(ftmp)); 4147 relock.lock(); 4148 this->mark_finished_with_result_internal(boost::move(res), lck); 4137 4149 } 4138 4150 catch (...) 4139 4151 { … … 4165 4177 virtual void execute(boost::unique_lock<boost::mutex>& lck) { 4166 4178 try 4167 4179 { 4168 continuation(boost::move(parent)); 4180 Fp local_fuct=boost::move(continuation); 4181 F ftmp = boost::move(parent); 4182 relocker relock(lck); 4183 local_fuct(boost::move(ftmp)); 4184 relock.lock(); 4169 4185 this->mark_finished_with_result_internal(lck); 4170 4186 } 4171 4187 catch (...)