id summary reporter owner description type status milestone component version severity resolution keywords cc 4749 Problem with deadline_timer on MacOSX jc_monnin@… chris_kohlhoff "When multiple threads call io_service::run() and there is one active deadline_timer, deadline_timer takes much more time to invoke the handler that specified.[[BR]] This has been observed on MacOSX 10.6, XCode 3.2.2 using the test application posted below. The time between the 1st and 2nd invoke of ""print1"" is almost 5 minutes instead of 1 second.[[BR]] It runs fine on Windows and Linux and when defining BOOST_ASIO_DISABLE_KQUEUE, the problem disappears on MacOSX. {{{ #include #include #include #include #include class printer { public: printer(boost::asio::io_service& io) : strand_(io), timer1_(io, boost::posix_time::seconds(1)), count_(0) { timer1_.async_wait(strand_.wrap(boost::bind(&printer::print1, this))); } ~printer() { std::cout << ""Final count is "" << count_ << ""\n""; } void print1() { if (count_ < 10) { std::cout << ""Timer 1: "" << count_ << ""\n""; ++count_; timer1_.expires_at(timer1_.expires_at() + boost::posix_time::seconds(1)); timer1_.async_wait(strand_.wrap(boost::bind(&printer::print1, this))); } } private: boost::asio::strand strand_; boost::asio::deadline_timer timer1_; int count_; }; int main() { boost::asio::io_service io; printer p(io); boost::thread t(boost::bind(&boost::asio::io_service::run, &io)); io.run(); t.join(); return 0; } }}}" Bugs closed To Be Determined asio Boost 1.44.0 Problem duplicate samjmill@…