Boost logo

Boost Users :

From: Ross Wightman (rwightman_at_[hidden])
Date: 2008-08-19 23:37:06


There is an integer arithmetic bug in get_due_time() used by
conditional variables in the boost 1.35/1.36 threading library. On
line 343 in thread/src/win32/thread.cpp, integer division is performed
before multiplication leaving the possibility of an erroneous 0 result
in the case where ticks_per_second is larger than
hundred_nanoseconds_in_one_second. Moving the brackets around the
multiply or removing them altogether will fix this problem.

I think this may only show itself if boost::date_time is setup so that
BOOST_DATE_TIME_HAS_NANOSECONDS is true (the way I need it).


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net