Changeset 44111

Timestamp:
Apr 8, 2008, 3:40:33 PM (15 years ago)
Author:
Eric Niebler
Message:

Merged revisions 44071-44110 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........

r44071 | andreas_huber69 | 2008-04-06 08:16:00 -0700 (Sun, 06 Apr 2008) | 1 line


Adapted fifo_scheduler<> to the changed allocator interface of boost::function.

........

r44073 | pdimov | 2008-04-06 09:23:42 -0700 (Sun, 06 Apr 2008) | 1 line


Add MT runs of yield_k_test and spinlock_try_test.

........

r44074 | pdimov | 2008-04-06 09:53:11 -0700 (Sun, 06 Apr 2008) | 1 line


detail/spinlock_pool.hpp added.

........

r44078 | ramey | 2008-04-06 13:01:48 -0700 (Sun, 06 Apr 2008) | 1 line


change BOOST_IS_ABSTRACT to BOOST_ASSUME_ABSTRACT

........

r44079 | ramey | 2008-04-06 13:02:54 -0700 (Sun, 06 Apr 2008) | 1 line


change BOOST_IS_ABSTRACT to BOOST_ASSUME_ABSTRACT

........

r44080 | ramey | 2008-04-06 13:03:21 -0700 (Sun, 06 Apr 2008) | 1 line


change BOOST_IS_ABSTRACT to BOOST_ASSUME_ABSTRACT

........

r44081 | ramey | 2008-04-06 13:03:59 -0700 (Sun, 06 Apr 2008) | 1 line


change BOOST_IS_ABSTRACT to BOOST_ASSUME_ABSTRACT

........

r44082 | ramey | 2008-04-06 13:04:20 -0700 (Sun, 06 Apr 2008) | 1 line


enhanced test to detect more errors

........

r44083 | ramey | 2008-04-06 13:05:56 -0700 (Sun, 06 Apr 2008) | 2 lines


remove supperfluous abstract.hpp header

........

r44086 | jurko | 2008-04-06 15:36:59 -0700 (Sun, 06 Apr 2008) | 1 line


Made the msvc toolset registration example consistent with its comment and added an additional one specifying the exact msvc version. Many stylistic comment changes.

........

r44087 | jurko | 2008-04-07 02:55:18 -0700 (Mon, 07 Apr 2008) | 10 lines


Solved the problem with child process returning the value 259 (Windows constant STILL_ACTIVE) causing bjam never to detect that it exited and therefore keep running in an endless loop. Done by relying on the Windows WaitForMultipleObjects() function to detect when a process has exited instead of GetExitCodeProcess(). The later function's MSDN article (http://msdn2.microsoft.com/en-us/library/ms683189(VS.85).aspx) warns about this problem.


Solved the problem with bjam going into an active wait state, hogging up processor resources, when waiting for one of its child processes to terminate while not all of its available child process slots are being used. To see this bug in action, try compiling a simple C++ program on a 2 processor PC with the -j 2 command-line option and watching how much processor resources bjam uses while linking. Was caused by treating unused process slots as used in the try_wait() function, causing the WaitForMultipleObjects() Windows API call to exit instantly with an error which was then getting incorrectly interpreted as a timeout, starting the whole cycle anew.


Solved a race condition between bjam's output reading/child process termination detection and the child process's output generation/termination which could have caused bjam not to collect the terminated process's final output.


Extracted all GetExitCodeProcess() API calls into one location so it no longer gets called in three separate places.


Minor comment changes in code touched by previous fixes.

........

r44088 | jurko | 2008-04-07 03:32:09 -0700 (Mon, 07 Apr 2008) | 4 lines


Fixed a bug with bjam not handling the '\' root Windows path correctly without its drive letter being specified. One effect could be seen by MkDir rule on such a path always attempting to create its base folder even if that folder already exists. For example if you attempted to create folder '\Projects\XYZ\BuildDir' it would incorrectly think that '\Projects' folder does not exist and attempt to create it - thus causing the whole build to fail due to the underlying OS mkdir command failing.


This was caused by the file_dirscan() function in the filent.c module not working correctly when passed '\' as its dir. It then messed up when formatting its file-selection parameter for the _findfirst()/findfirst() API and constructed it as '\/*' which caused that API to fail and return -1 which was in turn being interpreted as 'file not found'.

........

r44089 | anthonyw | 2008-04-07 06:09:36 -0700 (Mon, 07 Apr 2008) | 1 line


Added locked-> owns_lock change to breaking changes

........

r44091 | johnmaddock | 2008-04-07 08:58:51 -0700 (Mon, 07 Apr 2008) | 4 lines


Merged changes from sandbox to Trunk:
New special functions for truncation and rounding, plus exponential integrals and zeta.
New non central distributions.
Updated equation png's so that they are all consistent.

........

r44093 | johnmaddock | 2008-04-07 09:34:28 -0700 (Mon, 07 Apr 2008) | 1 line


Updated last commit info, plus compiler compatibility and news.

........

r44094 | ramey | 2008-04-07 10:05:38 -0700 (Mon, 07 Apr 2008) | 4 lines


updated markup for serialization library
eliminated deprecated tests
enabled tests on vacpp

........

r44095 | ramey | 2008-04-07 10:07:00 -0700 (Mon, 07 Apr 2008) | 1 line


change BOOST_IS_ABSTRACT to BOOST_ASSUME_ABSTRACT

........

r44096 | ramey | 2008-04-07 10:23:07 -0700 (Mon, 07 Apr 2008) | 1 line


changed type traits macro to BOOST_TT_BROKEN_COMPILER_SPEC

........

r44104 | emildotchevski | 2008-04-07 12:00:45 -0700 (Mon, 07 Apr 2008) | 1 line


fixed compile errors on various platforms

........

(No files)

Note: See TracChangeset for help on using the changeset viewer.