2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 00:32:11 +00:00
Commit Graph

16 Commits

Author SHA1 Message Date
K. Noel Belcourt
e50a11396b Fix a bug Chris Cambly reported with the timeout code on
AIX.  Apparently AIX doesn't permit a forked process to 
reference (set) memory in the parent's address space.  No 
other system seems to object to this practice but it taught
me a lesson!

The fix was to move the call to get the child process start 
time directly before calling vfork.  This isn't really fair 
to the forked process as we start counting time against the
child process that we haven't even forked (we count the 
vfork/exec call overhead against the child process).

Tested Rene's test.sh script on Sun, Linux, AIX, and Sgi.



[SVN r39399]
2007-09-20 04:11:11 +00:00
K. Noel Belcourt
5431dfdbd2 Remove unnecessary overhead in execunix.c related to
the timeout implementation.  Also removed unused variables
as diagnosed by the Sgi (mipspro) compiler.

Fixed const-correctness error in operations.hpp that
Sgi complained about.

There's no strerror_r function on Irix 6.5 so I replaced
it with a strerror call.

With these changes, I can now build process jam log and
start running Sgi tests.



[SVN r39378]
2007-09-18 22:46:26 +00:00
K. Noel Belcourt
7fa6118e55 A minor optimization to eliminate two OS calls (one
to times, one to kill).  Now all expired processes
are killed in one place.  If the select command
times out, I set each processes start_time to zero
to ensure it is picked up as an expired process.



[SVN r39361]
2007-09-18 03:27:48 +00:00
K. Noel Belcourt
445da99019 Fix One more obscure way for the timeout to miss processes.
If select times out (no processes terminated), then all running
processes can be terminated.  Cleaned up code when this condition
applies.



[SVN r39360]
2007-09-18 02:42:13 +00:00
K. Noel Belcourt
4468f9e815 Rene found a problem with the code I committed to
terminate expired processes.  This patch basically
causes the select function to return after -l seconds.
This gives me a shot at killing processes still
running.



[SVN r39358]
2007-09-17 23:30:57 +00:00
K. Noel Belcourt
df836c6bd9 Added missing #include <utility> and qualified
make_pair with std:: to library_status.cpp.

Added missing headers to make1.c and missing prototypes
to builtin.h

Modified execunix.c to add support for terminating
processes that consume too much cpu or that hang and
fail to consume cpu at all.  This in support of the
bjam -lx option.

http://svn.boost.org/trac/boost/ticket/1266#comment:2



[SVN r39334]
2007-09-17 00:27:37 +00:00
Rene Rivera
b3128a55bd Implement running action commands through pipes (-p option) to fix jumbled output when using parallel execution with -j option. This is implemented for Unix variants, and Windows (Win32/NT). [ticket #994]
[SVN r38009]
2007-06-16 20:52:36 +00:00
Rene Rivera
f4efe8b540 Cleanup memory allocation calls to use macros defined in new mem.h header. This new header will handle configuration of both memory allocator to use, and memory profiling.
[SVN r35029]
2006-09-07 03:57:02 +00:00
Rene Rivera
9e3471a5ef Merge outstanding 1.33 changes to trunk:
* QNX/qcc support.
* STLport5 support.
* STLport support docs cleanup.
* kFreeBSD support.
* MinGW/MSYS support.


[SVN r31345]
2005-10-16 15:34:27 +00:00
Rene Rivera
eed0cf6cc3 Variety of performance improvements.
* bjam; bump to version 3.1.12
* bjam; make it possible to build in MinGW/MSYS shell
* bjam; move profile code to debug.h/c to make it available for use everywhere
* bjam; cache all filesystem query operations, Unix and Windows only, include PWD and scanning
* bjam; add memory profile info, and sprinkle throught code
* bbv2; rewrite some while() loops into for() loops to reduce time and memory
* bbv2; keep a single instance counter instead of one per type to reduce memory use
* bjam+bbv2; change NORMALIZE_PATH builtin to join path parts to reduce memory use


[SVN r31177]
2005-10-03 00:47:36 +00:00
Vladimir Prus
a02448da4a Include <unistd.h> to get definition of _exit.
Patch from Craig Rodrigues.


[SVN r30308]
2005-07-29 09:30:12 +00:00
Dave Abrahams
72a5e80e64 jam_src/
builtins.{c,h}
        Support for the REBUILDS rule
        remove unused variable

    rules.h
    make.c
        Support for the REBUILDS rule

    make1.c
        Support for the REBUILDS rule

        Support for recording timing information

        Restructured a case statement because it was masking a bug I
        introduced.

    execcmd.h
    execnt.c
    execunix.c
        Support for recording timing information
        Also removed NT-specific stuff from execunix

    expand.c
        Removed tabs from critical comment
        Added tab-width variable setting comment for emacs.

v2/test
    rebuilds.py, timedata.py, test_all.py
        Tests for REBUILDS and timing.


[SVN r27334]
2005-02-12 02:30:18 +00:00
Vladimir Prus
3091d87d48 Fix some C++-style comments. Pass -pedantic when compiling with gcc,
so that such problems are reported.


[SVN r21298]
2003-12-17 06:16:38 +00:00
Toon Knapen
d3bed59788 port to sunpro
[SVN r19022]
2003-07-10 12:09:28 +00:00
Toon Knapen
26926416ef added include unistd.h and wait.h for sunpro
[SVN r19019]
2003-07-10 10:59:26 +00:00
Dave Abrahams
d0f03c1ab5 merged to main trunk
[SVN r11610]
2001-11-06 15:36:16 +00:00