mirror of https://github.com/BOINC/boinc.git
- On Windows treat all SEH exceptions as C++ style exceptions.
NOTE: I'll need to do a little more research and adjust the diagnostics stuff later. I believe that the diagnostics framework will now always report an unhandled C++ exception for things like an Access Violation. - client: On Windows, recover from an Access Violation if/when the GPU functions access violate. lib/ boinc_in.h coproc.cpp win_build/ *.vcproj svn path=/trunk/boinc/; revision=19541
This commit is contained in:
parent
537c2bba2e
commit
c73ea50c1b
|
@ -9065,3 +9065,18 @@ David 10 Nov 2009
|
|||
from Oliver Bock
|
||||
|
||||
Makefile.am
|
||||
|
||||
Rom 11 Nov 2009
|
||||
- On Windows treat all SEH exceptions as C++ style exceptions.
|
||||
NOTE: I'll need to do a little more research and adjust the
|
||||
diagnostics stuff later. I believe that the diagnostics
|
||||
framework will now always report an unhandled C++ exception
|
||||
for things like an Access Violation.
|
||||
- client: On Windows, recover from an Access Violation if/when
|
||||
the GPU functions access violate.
|
||||
|
||||
lib/
|
||||
boinc_in.h
|
||||
coproc.cpp
|
||||
win_build/
|
||||
*.vcproj
|
||||
|
|
|
@ -186,6 +186,7 @@ typedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR;
|
|||
#include <list>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <stdexcept>
|
||||
#endif
|
||||
|
||||
// Define a generic string type that can be a Unicode string on
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifndef SIM
|
||||
#include <nvapi.h>
|
||||
|
@ -136,19 +137,32 @@ void COPROCS::summary_string(char* buf, int len) {
|
|||
strcpy(buf, bigbuf);
|
||||
}
|
||||
|
||||
#ifndef _WIN32_
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
void COPROCS::get(bool use_all, vector<string>&descs, vector<string>&warnings) {
|
||||
try {
|
||||
COPROC_CUDA::get(*this, use_all, descs, warnings);
|
||||
} catch(...) {
|
||||
warnings.push_back("Caught exception in NVIDIA GPU detection");
|
||||
}
|
||||
|
||||
try {
|
||||
COPROC_ATI::get(*this, descs, warnings);
|
||||
} catch(...) {
|
||||
warnings.push_back("Caught exception in ATI GPU detection");
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
jmp_buf resume;
|
||||
|
||||
void segv_handler(int) {
|
||||
longjmp(resume, 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
void COPROCS::get(bool use_all, vector<string>&descs, vector<string>&warnings) {
|
||||
#ifdef _WIN32_
|
||||
COPROC_CUDA::get(*this, use_all, descs, warnings);
|
||||
COPROC_ATI::get(*this, descs, warnings);
|
||||
#else
|
||||
sighandler_t old_sig = signal(SIGSEGV, segv_handler);
|
||||
if (setjmp(resume)) {
|
||||
warnings.push_back("Caught SIGSEGV in NVIDIA GPU detection");
|
||||
|
@ -163,9 +177,10 @@ void COPROCS::get(bool use_all, vector<string>&descs, vector<string>&warnings) {
|
|||
}
|
||||
#endif
|
||||
signal(SIGSEGV, old_sig);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// used only to parse scheduler request messages
|
||||
//
|
||||
int COPROCS::parse(FILE* fin) {
|
||||
|
|
|
@ -383,6 +383,7 @@
|
|||
AdditionalIncludeDirectories="../lib;../api;../client/win;../client;..;../../boinc_depends_win_vs2005/openssl/include;../../boinc_depends_win_vs2005/curl/include;../../boinc_depends_win_vs2005/zlib/include;../coprocs/cuda/include"
|
||||
PreprocessorDefinitions="WIN32;_WIN32;NDEBUG;_MT;_DLL;_WINDOWS;_CONSOLE;_USE_CURL;USE_SSL;USE_SSLEAY;USE_OPENSSL"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -368,6 +368,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="../lib"
|
||||
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -379,6 +379,7 @@
|
|||
AdditionalIncludeDirectories="../api/,../lib/,../client,.."
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_WINDOWS;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="false"
|
||||
FloatingPointModel="2"
|
||||
|
|
|
@ -381,6 +381,7 @@
|
|||
AdditionalIncludeDirectories="../lib/,../api/,../RSAEuro/source/,../client/win/,../client,.."
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_DLL;_WINDOWS;_CONSOLE"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
FloatingPointModel="2"
|
||||
|
|
|
@ -146,6 +146,7 @@
|
|||
AdditionalIncludeDirectories="..;..\..\boinc_depends_win_vs2005\wxwidgets\include;"..\..\boinc_depends_win_vs2005\wxwidgets\mswin\$(PlatformName)\$(ConfigurationName)\lib\vc_lib\mswu";..\..\boinc_depends_win_vs2005\sqlite3\include;..\lib;..\api;..\clientgui;..\client\win;$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32;_WIN32;_NDEBUG;_WINDOWS;_MT;__WXNDEBUG__;WXNDEBUG;_UNICODE;UNICODE;wxUSE_GUI=1;$(NOINHERIT)"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="false"
|
||||
FloatingPointModel="2"
|
||||
|
|
|
@ -389,6 +389,7 @@
|
|||
AdditionalIncludeDirectories="../lib;.."
|
||||
PreprocessorDefinitions="WIN32;_WIN32;NDEBUG;_MT;_DLL;_WINDOWS;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -381,6 +381,7 @@
|
|||
AdditionalIncludeDirectories="../api/,../lib/,../client,.."
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_WINDOWS;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="false"
|
||||
FloatingPointModel="2"
|
||||
|
|
|
@ -238,6 +238,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_LIB;_CONSOLE;_CRT_SECURE_NO_WARNINGS;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
|
|
|
@ -237,6 +237,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_LIB;_CONSOLE;_CRT_SECURE_NO_WARNINGS;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;../lib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_LIB;_CONSOLE;_CRT_SECURE_NO_WARNINGS;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
|
|
|
@ -264,6 +264,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..;../win_build;../lib;../api;../../boinc_depends_win_vs2005/openssl/include;../coprocs/cuda/include"
|
||||
PreprocessorDefinitions="_WIN32;WIN32;_MT;_DLL;NDEBUG;_LIB_WIN32;_WINDOWS;_CONSOLE;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -264,6 +264,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..;../win_build;../lib;../api;../../boinc_depends_win_vs2005/openssl/include;../coprocs/cuda/include"
|
||||
PreprocessorDefinitions="_WIN32;WIN32;_MT;NDEBUG;_LIB_WIN32;_WINDOWS;_CONSOLE;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -250,6 +250,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_LIB;_CONSOLE;_CRT_SECURE_NO_WARNINGS;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="boinc_win.h"
|
||||
|
|
|
@ -247,6 +247,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_LIB;_CONSOLE;_CRT_SECURE_NO_WARNINGS;HAVE_STD_MAX;HAVE_STD_MIN;HAVE_STD_TRANSFORM;CLIENT;BOINC_APP_GRAPHICS"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="boinc_win.h"
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
AdditionalIncludeDirectories=".;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -381,6 +381,7 @@
|
|||
AdditionalIncludeDirectories="../lib;../api;../client/win;../client;..;../../boinc_depends_win_vs2005/openssl/include;../../boinc_depends_win_vs2005/curl/include;../../boinc_depends_win_vs2005/zlib/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_DLL;_WINDOWS;_CONSOLE;SIM"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
FloatingPointModel="2"
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
AdditionalIncludeDirectories=".;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -156,6 +156,7 @@
|
|||
AdditionalIncludeDirectories=".;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
AdditionalIncludeDirectories=".;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
AdditionalIncludeDirectories=".;..;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -381,6 +381,7 @@
|
|||
AdditionalIncludeDirectories="../lib/,../api/,../RSAEuro/source/,../client/win/,../client,.."
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_DLL;_WINDOWS;_CONSOLE"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
FloatingPointModel="2"
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
AdditionalIncludeDirectories=".;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
AdditionalIncludeDirectories=".;../;../api;../lib;../samples/image_libs;../samples/jpeglib;../samples/glut"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_MT;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="2"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
Loading…
Reference in New Issue