When select() returns with data on one or more file descriptors,
we use fread() to read data from the live descriptors. The problem
is that these are blocking file descriptors so most of the time
bjam is waiting, it's actually waiting in fread(), rather than
waiting in select().
There are two possible patches: one is to just call fread() a single
time (not inside a loop) or we can make the file descriptors non-
blocking. It's more efficient to make the descriptors non-blocking
as this allows us to read all data on a descriptor each time select()
returns. The first approach would not permit us to read all the data
on a descriptor (only as much as fits into our buffer).
I tested this patch on Suse, Redhat, and Darwin.
[SVN r66650]
When select() returns with data on one or more file descriptors,
we use fread() to read data from the live descriptors. The problem
is that these are blocking file descriptors so most of the time
bjam is waiting, it's actually waiting in fread(), rather than
waiting in select().
There are two possible patches: one is to just call fread() a single
time (not inside a loop) or we can make the file descriptors non-
blocking. It's more efficient to make the descriptors non-blocking
as this allows us to read all data on a descriptor each time select()
returns. The first approach would not permit us to read all the data
on a descriptor (only as much as fits into our buffer).
I tested this patch on Suse, Redhat, and Darwin.
[SVN r66650]
Boost.Build system with clang. I also fixed a few things in the clang-linux
toolchain;
- Clang doesn't support -pg.
- Adding -O0 to turn optimization off is silly, because it is set to zero by
default if omitted on the command line. The compiler will whine about
unused options if you later add another -O flag. The Boost.Build UTF
interface adds a second -O0, so you end up with two redundant command line
options and a warning from bjam/clang for every invocation of the compiler
when using the test framework.
[SVN r66441]
Boost.Build system with clang. I also fixed a few things in the clang-linux
toolchain;
- Clang doesn't support -pg.
- Adding -O0 to turn optimization off is silly, because it is set to zero by
default if omitted on the command line. The compiler will whine about
unused options if you later add another -O flag. The Boost.Build UTF
interface adds a second -O0, so you end up with two redundant command line
options and a warning from bjam/clang for every invocation of the compiler
when using the test framework.
[SVN r66441]
* Import boostbook to register `FO`.
* Remove re-initialization check, now overrides previous initialization.
* Set `JAVA_HOME` and `JAVACMD` based on the appropriate parameters.
[SVN r66432]
* Import boostbook to register `FO`.
* Remove re-initialization check, now overrides previous initialization.
* Set `JAVA_HOME` and `JAVACMD` based on the appropriate parameters.
[SVN r66432]
Most importantly, if version is specified and command is not, check for
g++-$version and failing that, check if g++ -dumpversion returns the
version we've asked about.
Patch from Moritz Hassert.
Addresses #4667.
[SVN r65633]
Most importantly, if version is specified and command is not, check for
g++-$version and failing that, check if g++ -dumpversion returns the
version we've asked about.
Patch from Moritz Hassert.
Addresses #4667.
[SVN r65633]
------------------------------------------------------------------------
r65318 | jhunold | 2010-09-06 10:43:06 +0200 (Mo, 06 Sep 2010) | 3 lines
Suppress msvc warning 4251 about templates as base classes not having a dll-interface.
Suppress msvc warning 4275 about base class std::logic_error not having a dll-interface.
------------------------------------------------------------------------
r65319 | jhunold | 2010-09-06 16:14:09 +0200 (Mo, 06 Sep 2010) | 2 lines
Fix: windows does not have wait(), use own macros instead.
------------------------------------------------------------------------
[SVN r65326]