David May 9 2008

- client: increase <abort> timeout from 5 sec to 60;
        this gives the diagnostic system time to download
        symbol files (which may be several MB) and write a stack trace.

svn path=/trunk/boinc/; revision=15162
This commit is contained in:
David Anderson 2008-05-09 16:27:20 +00:00
parent b146c3b68a
commit b13ad4da38
4 changed files with 23 additions and 7 deletions

View File

@ -3761,3 +3761,13 @@ Rom May 9 2008
lib/
stackwalker_win.cpp
David May 9 2008
- client: increase <abort> timeout from 5 sec to 60;
this gives the diagnostic system time to download
symbol files (which may be several MB) and write a stack trace.
client/
app.C
app_control.C
app_start.C

View File

@ -31,9 +31,7 @@
#ifndef _WIN32
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
@ -79,6 +77,13 @@
using std::max;
using std::min;
#define ABORT_TIMEOUT 60
// if we send app <abort> request, wait this long before killing it.
// This gives it time to download symbol files (which can be several MB)
// and write stack trace to stderr
#define QUIT_TIMEOUT 10
// Same, for <quit>. Shorter because no stack trace is generated
ACTIVE_TASK::~ACTIVE_TASK() {
#ifndef SIM
cleanup_task();
@ -311,12 +316,12 @@ bool ACTIVE_TASK_SET::poll() {
for (i=0; i<active_tasks.size(); i++) {
ACTIVE_TASK* atp = active_tasks[i];
if (atp->task_state() == PROCESS_ABORT_PENDING) {
if (gstate.now > atp->abort_time + 5.0) {
if (gstate.now > atp->abort_time + ABORT_TIMEOUT) {
atp->kill_task(false);
}
}
if (atp->task_state() == PROCESS_QUIT_PENDING) {
if (gstate.now > atp->quit_time + 10.0) {
if (gstate.now > atp->quit_time + QUIT_TIMEOUT) {
atp->kill_task(true);
}
}

View File

@ -33,10 +33,7 @@
#else
#include "config.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_SYS_IPC_H
#include <sys/ipc.h>

View File

@ -743,6 +743,10 @@ int ACTIVE_TASK::start(bool first_time) {
// If an error happens,
// exit nonzero so that the core client knows there was a problem.
// close descriptors
//
fclose(stdout);
// add project dir to library path
//
char libpath[8192];