Boost logo

Boost-Commit :

From: kbelco_at_[hidden]
Date: 2007-09-29 16:23:30


Author: noel_belcourt
Date: 2007-09-29 16:23:29 EDT (Sat, 29 Sep 2007)
New Revision: 39612
URL: http://svn.boost.org/trac/boost/changeset/39612

Log:
When terminating unix processes I forgot to check for negative
time differences. This patch only sets the select timeout if
the difference between the requested and consumed time is
positive.

Text files modified:
   trunk/tools/jam/src/execunix.c | 4 +++-
   1 files changed, 3 insertions(+), 1 deletions(-)

Modified: trunk/tools/jam/src/execunix.c
==============================================================================
--- trunk/tools/jam/src/execunix.c (original)
+++ trunk/tools/jam/src/execunix.c 2007-09-29 16:23:29 EDT (Sat, 29 Sep 2007)
@@ -380,7 +380,9 @@
 
         if (globs.timeout && cmdtab[i].pid) {
             clock_t consumed = (current - cmdtab[i].start_time) / tps;
- timeout = (globs.timeout - consumed) < timeout ? (globs.timeout - consumed) : timeout;
+ if (0 <= (globs.timeout - consumed) && ((globs.timeout - consumed) < timeout)) {
+ timeout = globs.timeout - consumed;
+ }
             if (globs.timeout <= consumed) {
                 killpg(cmdtab[i].pid, SIGKILL);
                 cmdtab[i].exit_reason = EXIT_TIMEOUT;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk