ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/sigsegv.cpp
(Generate patch)

Comparing BasiliskII/src/Unix/sigsegv.cpp (file contents):
Revision 1.77 by gbeauche, 2008-01-06T17:22:19Z vs.
Revision 1.78 by gbeauche, 2008-01-07T22:44:39Z

# Line 2437 | Line 2437 | sigsegv_address_t sigsegv_get_fault_addr
2437                  mach_get_exception_state(SIP);
2438  
2439                  sigsegv_address_t addr = (sigsegv_address_t)SIGSEGV_FAULT_ADDRESS;
2440 <                if (use_fast_path < 0)
2441 <                        use_fast_path = addr == SIP->addr;
2440 >                if (use_fast_path < 0) {
2441 >                        const char *machfault = getenv("SIGSEGV_MACH_FAULT");
2442 >                        if (machfault) {
2443 >                                if (strcmp(machfault, "fast") == 0)
2444 >                                        use_fast_path = 1;
2445 >                                else if (strcmp(machfault, "slow") == 0)
2446 >                                        use_fast_path = 0;
2447 >                        }
2448 >                        if (use_fast_path < 0)
2449 >                                use_fast_path = addr == SIP->addr;
2450 >                }
2451                  SIP->addr = addr;
2452          }
2453   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines