mirror of https://github.com/BOINC/boinc.git
- client: Add SEH handlers around the Nvidia and ATI detection
routines. Take care of situations where something within the vendors functions cause a crash. client/ coproc_detect.cpp svn path=/trunk/boinc/; revision=20744
This commit is contained in:
parent
263720bd0e
commit
04b6570f96
|
@ -1403,3 +1403,13 @@ Charlie 26 Feb 2010
|
|||
clientgui/
|
||||
DlgEventLog.cpp, .h
|
||||
MainDocument.cpp
|
||||
|
||||
Rom 26 Feb 2010
|
||||
- client: Add SEH handlers around the Nvidia and ATI detection
|
||||
routines. Take care of situations where something within
|
||||
the vendors functions cause a crash.
|
||||
|
||||
client/
|
||||
coproc_detect.cpp
|
||||
|
||||
|
|
@ -61,8 +61,26 @@ void COPROCS::get(
|
|||
) {
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__try {
|
||||
COPROC_CUDA::get(*this, use_all, descs, warnings, ignore_cuda_dev);
|
||||
}
|
||||
__finally {
|
||||
warnings.push_back("Caught SIGSEGV in NVIDIA GPU detection");
|
||||
}
|
||||
|
||||
__try {
|
||||
COPROC_ATI::get(*this, descs, warnings, ignore_ati_dev);
|
||||
}
|
||||
__finally {
|
||||
warnings.push_back("Caught SIGSEGV in ATI GPU detection");
|
||||
}
|
||||
#else
|
||||
COPROC_CUDA::get(*this, use_all, descs, warnings, ignore_cuda_dev);
|
||||
COPROC_ATI::get(*this, descs, warnings, ignore_ati_dev);
|
||||
#endif
|
||||
|
||||
#else
|
||||
void (*old_sig)(int) = signal(SIGSEGV, segv_handler);
|
||||
if (setjmp(resume)) {
|
||||
|
|
Loading…
Reference in New Issue