From 38fc34ec2cca18893ea57baab1df63a00a752fb7 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 22 Oct 2004 05:46:25 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=4390 --- api/boinc_api.C | 1 + checkin_notes | 14 ++++++++++++++ lib/diagnostics.C | 6 ++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/api/boinc_api.C b/api/boinc_api.C index 8943dd69ad..9b8922e978 100644 --- a/api/boinc_api.C +++ b/api/boinc_api.C @@ -603,6 +603,7 @@ bool boinc_receive_trickle_down(char* buf, int len) { return true; } } + have_trickle_down = false; } return false; } diff --git a/checkin_notes b/checkin_notes index 00de03fd30..6b4734e922 100755 --- a/checkin_notes +++ b/checkin_notes @@ -18762,3 +18762,17 @@ David 21 Oct 2004 glut_win.c clientgui/ Makefile.old + +David 21 Oct 2004 + - boinc_receive_trickle_down(): reset have_trickle_down + if don't find any trickle-down messages. + This will make subsequence checks efficient (i.e. no disk check). + - boinc_catch_signal(): for SIGHUP and SIGPIPE, + return (i.e. ignore the signal) rather than exiting. + This affects both the core client and apps that use + boinc_init_diagnostics(). + + api/ + boinc_api.C + lib/ + diagnostics.C diff --git a/lib/diagnostics.C b/lib/diagnostics.C index 10d9d71107..a59774081e 100644 --- a/lib/diagnostics.C +++ b/lib/diagnostics.C @@ -498,14 +498,16 @@ void boinc_set_signal_handler_force(int sig, void(*handler)(int)) { void boinc_catch_signal(int signal) { switch(signal) { - case SIGHUP: fprintf(stderr, "SIGHUP: terminal line hangup"); break; + case SIGHUP: fprintf(stderr, "SIGHUP: terminal line hangup"); + return; case SIGINT: fprintf(stderr, "SIGINT: interrupt program"); break; case SIGILL: fprintf(stderr, "SIGILL: illegal instruction"); break; case SIGABRT: fprintf(stderr, "SIGABRT: abort called"); break; case SIGBUS: fprintf(stderr, "SIGBUS: bus error"); break; case SIGSEGV: fprintf(stderr, "SIGSEGV: segmentation violation"); break; case SIGSYS: fprintf(stderr, "SIGSYS: system call given invalid argument"); break; - case SIGPIPE: fprintf(stderr, "SIGPIPE: write on a pipe with no reader"); break; + case SIGPIPE: fprintf(stderr, "SIGPIPE: write on a pipe with no reader"); + return; default: fprintf(stderr, "unknown signal %d", signal); break; } fprintf(stderr, "\nExiting...\n");