mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=3315
This commit is contained in:
parent
000b18f565
commit
b527930a90
|
@ -11965,3 +11965,15 @@ David May 3 2004
|
|||
sched/
|
||||
*.C
|
||||
start
|
||||
|
||||
Rom May 3 2004
|
||||
- Try to cleanup a recursive failure during a dump to stderr by changing
|
||||
the fprintf call in diagnostics.c
|
||||
- Apparently exceptions don’t walk up the inheritance tree when calling
|
||||
virtual functions, so force the issue by locally scoping additional
|
||||
variables that can be set by constructors which will allow base functions
|
||||
to get the correct information.
|
||||
|
||||
lib/
|
||||
diagnostics.c
|
||||
exception.c, .h
|
||||
|
|
|
@ -193,7 +193,7 @@ LONG CALLBACK boinc_catch_signal(EXCEPTION_POINTERS *pExPtrs) {
|
|||
//
|
||||
|
||||
//if (flags & BOINC_DIAG_MEMORYLEAKCHECKENABLED )
|
||||
// SET_CRT_DEBUG_FIELD( _CRTDBG_LEAK_CHECK_DF );
|
||||
// CLEAR_CRT_DEBUG_FIELD( _CRTDBG_LEAK_CHECK_DF );
|
||||
|
||||
if (flags & BOINC_DIAG_HEAPCHECKENABLED ) {
|
||||
AfxEnableMemoryTracking(FALSE);
|
||||
|
@ -350,12 +350,12 @@ int __cdecl boinc_message_reporting( int reportType, char *szMsg, int *retVal ){
|
|||
OutputDebugString(szMsg); // Reports string to the debugger output window
|
||||
|
||||
if (flags & BOINC_DIAG_TRACETOSTDERR ) {
|
||||
fprintf( stderr, "%s", szMsg );
|
||||
fprintf( stderr, szMsg );
|
||||
fflush( stderr );
|
||||
}
|
||||
|
||||
if (flags & BOINC_DIAG_TRACETOSTDOUT ) {
|
||||
fprintf( stdout, "%s", szMsg );
|
||||
fprintf( stdout, szMsg );
|
||||
fflush( stdout );
|
||||
}
|
||||
|
||||
|
|
|
@ -48,13 +48,13 @@ const char * boinc_base_exception::what() {
|
|||
m_strErrorBuffer.empty();
|
||||
|
||||
memset(m_szConversionBuffer, '\0', sizeof(m_szConversionBuffer));
|
||||
snprintf(m_szConversionBuffer, sizeof(m_szConversionBuffer), "%ld", ErrorValue());
|
||||
snprintf(m_szConversionBuffer, sizeof(m_szConversionBuffer), "%ld", m_lErrorValue);
|
||||
|
||||
m_strErrorBuffer.append(ErrorType());
|
||||
m_strErrorBuffer.append(m_strErrorType);
|
||||
m_strErrorBuffer.append(" ");
|
||||
m_strErrorBuffer.append(m_szConversionBuffer);
|
||||
m_strErrorBuffer.append(" ");
|
||||
m_strErrorBuffer.append(ErrorMessage());
|
||||
m_strErrorBuffer.append(m_strErrorMessage);
|
||||
|
||||
m_strErrorBuffer.append("\n");
|
||||
|
||||
|
|
|
@ -40,6 +40,9 @@ private:
|
|||
string m_strErrorBuffer; // the formatted error message when
|
||||
// asked
|
||||
|
||||
string m_strErrorType; // the error type
|
||||
long m_lErrorValue; // the error value
|
||||
string m_strErrorMessage; // the error message
|
||||
string m_strErrorData; // any relevant data associated with
|
||||
// the error
|
||||
string m_strFilename; // the file in which the error occurred
|
||||
|
@ -49,10 +52,16 @@ private:
|
|||
public:
|
||||
|
||||
boinc_base_exception(const char *s=0)
|
||||
: m_strErrorData(s){};
|
||||
: m_strErrorType(ErrorType()), m_lErrorValue(ErrorValue()), m_strErrorMessage(ErrorMessage()), m_strErrorData(s){};
|
||||
|
||||
boinc_base_exception(const char *f, int l, const char *s=0)
|
||||
: m_strErrorData(s), m_strFilename(f), m_lLineNumber(l){};
|
||||
: m_strErrorType(ErrorType()), m_lErrorValue(ErrorValue()), m_strErrorMessage(ErrorMessage()), m_strErrorData(s), m_strFilename(f), m_lLineNumber(l){};
|
||||
|
||||
boinc_base_exception(const char *et, long ev, const char *em, const char *s=0)
|
||||
: m_strErrorType(et), m_lErrorValue(ev), m_strErrorMessage(em), m_strErrorData(s){};
|
||||
|
||||
boinc_base_exception(const char *et, long ev, const char *em, const char *f, int l, const char *s=0)
|
||||
: m_strErrorType(et), m_lErrorValue(ev), m_strErrorMessage(em), m_strErrorData(s), m_strFilename(f), m_lLineNumber(l){};
|
||||
|
||||
~boinc_base_exception() throw () {};
|
||||
|
||||
|
@ -72,9 +81,13 @@ class boinc_runtime_base_exception : public boinc_base_exception
|
|||
public:
|
||||
|
||||
boinc_runtime_base_exception(const char *s=0)
|
||||
: boinc_base_exception(s){}
|
||||
: boinc_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), s){};
|
||||
boinc_runtime_base_exception(const char *f, int l, const char *s=0)
|
||||
: boinc_base_exception(f, l, s){}
|
||||
: boinc_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), f, l, s){};
|
||||
boinc_runtime_base_exception(const char *et, long ev, const char *em, const char *s=0)
|
||||
: boinc_base_exception(et, ev, em, s){};
|
||||
boinc_runtime_base_exception(const char *et, long ev, const char *em, const char *f, int l, const char *s=0)
|
||||
: boinc_base_exception(et, ev, em, f, l, s){};
|
||||
|
||||
~boinc_runtime_base_exception() throw () {};
|
||||
|
||||
|
@ -90,9 +103,13 @@ class boinc_out_of_memory_exception : public boinc_runtime_base_exception
|
|||
{
|
||||
public:
|
||||
boinc_out_of_memory_exception(const char *s=0)
|
||||
: boinc_runtime_base_exception(s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), s){};
|
||||
boinc_out_of_memory_exception(const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(f, l, s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), f, l, s){};
|
||||
boinc_out_of_memory_exception(const char *et, long ev, const char *em, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, s){};
|
||||
boinc_out_of_memory_exception(const char *et, long ev, const char *em, const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, f, l, s){};
|
||||
|
||||
~boinc_out_of_memory_exception() throw () {};
|
||||
|
||||
|
@ -105,9 +122,13 @@ class boinc_invalid_parameter_exception : public boinc_runtime_base_exception
|
|||
{
|
||||
public:
|
||||
boinc_invalid_parameter_exception(const char *s=0)
|
||||
: boinc_runtime_base_exception(s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), s){};
|
||||
boinc_invalid_parameter_exception(const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(f, l, s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), f, l, s){};
|
||||
boinc_invalid_parameter_exception(const char *et, long ev, const char *em, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, s){};
|
||||
boinc_invalid_parameter_exception(const char *et, long ev, const char *em, const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, f, l, s){};
|
||||
|
||||
~boinc_invalid_parameter_exception() throw () {};
|
||||
|
||||
|
@ -120,9 +141,13 @@ class boinc_file_operation_exception : public boinc_runtime_base_exception
|
|||
{
|
||||
public:
|
||||
boinc_file_operation_exception(const char *s=0)
|
||||
: boinc_runtime_base_exception(s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), s){};
|
||||
boinc_file_operation_exception(const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(f, l, s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), f, l, s){};
|
||||
boinc_file_operation_exception(const char *et, long ev, const char *em, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, s){};
|
||||
boinc_file_operation_exception(const char *et, long ev, const char *em, const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, f, l, s){};
|
||||
|
||||
~boinc_file_operation_exception() throw () {};
|
||||
|
||||
|
@ -135,9 +160,13 @@ class boinc_signal_operation_exception : public boinc_runtime_base_exception
|
|||
{
|
||||
public:
|
||||
boinc_signal_operation_exception(const char *s=0)
|
||||
: boinc_runtime_base_exception(s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), s){};
|
||||
boinc_signal_operation_exception(const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(f, l, s){}
|
||||
: boinc_runtime_base_exception(ErrorType(), ErrorValue(), ErrorMessage(), f, l, s){};
|
||||
boinc_signal_operation_exception(const char *et, long ev, const char *em, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, s){};
|
||||
boinc_signal_operation_exception(const char *et, long ev, const char *em, const char *f, int l, const char *s=0)
|
||||
: boinc_runtime_base_exception(et, ev, em, f, l, s){};
|
||||
|
||||
~boinc_signal_operation_exception() throw () {};
|
||||
|
||||
|
|
Loading…
Reference in New Issue