Boost C++ Libraries: Ticket #78: pthread_delay_np() parm incorrect https://svn.boost.org/trac10/ticket/78 <pre class="wiki">aix.hpp #define's BOOST_HAS_PTHREAD_DELAY_NP, and in fact there is a prototype for pthread_delay_np() in /usr/include/pthread.h. This function is invoked by thread.cpp thread::sleep(), after it calls to_timespec() to convert "xtime" to "timespec". to_timespec() essentially copies the two corresponding fields, so the parameter that's passed to pthread_delay_np() is relative to the Unix epoch. On my RS/6000 AIX 4.3 box this results in an endless sleep. According to the man page for pthread_delay_np() "The pthread_delay_np subroutine causes the calling thread to delay execution for a specified period of elapsed wall clock time. The period of time the thread waits is at least as long as the number of seconds and nanoseconds specified in the interval parameter." I interpret this to mean that the parameters values is relative to the time that pthread_delay_np() is invoked. I tested my hypothesis by changing thread::sleep() to invoke to_timespec_duration(), and this seems to work. Thanks, Doug </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/78 Trac 1.4.3 Markus Schöpflin Thu, 24 Nov 2005 09:27:29 GMT status changed https://svn.boost.org/trac10/ticket/78#comment:1 https://svn.boost.org/trac10/ticket/78#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> <pre class="wiki">Logged In: YES user_id=91733 This has been fixed on the RC_1_28_0 branch and has also been merged to HEAD in 05/2002. </pre> Ticket