
----- Original Message ----- From: "Boris" <boriss@web.de> To: <boost@lists.boost.org> Sent: Friday, November 14, 2008 11:38 AM Subject: [boost] [thread] sleep() with time_duration?
If I want a thread to sleep for five seconds the shortest code I could come up with is:
boost::system_time time = boost::get_system_time(); time += boost::posix_time::seconds(5); boost::thread::sleep(time);
It would be nice if it was possible to pass a time_duration object to sleep() directly:
boost::thread::sleep(boost::posix_time::seconds(5));
This would also be consistent with the deadline_timer in Boost.Asio whose constructor accepts both a time and a time_duration.
Hi, I found your reques inline with the current proposal n2497 contains already this overloading http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2497.html void sleep(const system_time& abs_t); template <class Duration> void sleep(const Duration& rel_t); There is also a more recent proposal N2651-A Foundation to Sleep On- Clocks, Points in Time, and Time Durations http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2615.html In it we found a proposal to update the thread library rename the sleep functions Threads The current time-related threading API is adapted to this proposal. An emphasis is put on ease of use, safety, efficiency, and durability with respect to advancing technology over time. Summary of changes: The parameters of the time-related functions have been modified to match the time API in this proposal. sleep(rel_time) has been renamed to sleep_for(rel_time). sleep(abs_time) has been renamed to sleep_until(abs_time). Particularly I prefer this renamming, but for compatibility purpose bouth shoul be implemented. Best, Vicente