Changeset 1801


Ignore:
Timestamp:
Apr 4, 2015, 12:30:47 AM (6 years ago)
Author:
Steven Levine
Message:

HandleException?: check for ignore before checking for cascade

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/excputil.c

    r1707 r1801  
    55  exception handlers
    66
    7   Copyright (c) 2008 Steven H. Levine
     7  Copyright (c) 2008, 2015 Steven H. Levine
    88
    99  Write to exceptq .trp file or ?:\fm2_trap.log
    1010  where ? is boot volume
    1111
    12   06 Dec 08 SHL Baseline (Ticket #26)
     12  2008-12-06 SHL Baseline (Ticket #26)
     13  2015-04-03 SHL HandleException: check for ignore before checking for cascade
    1314
    1415************************************************************/
     
    138139  static PSZ pszExcpMsg = "Caught exception %lx in process %lx (%lu) thread %u at %.24s";
    139140
    140   // Try to report cascading exceptions in handler only once
    141   // This simple test can get confused if multiple threads trap at same time
    142   if (++working > 1) {
    143     if (working == 2) {
    144       DbgMsg(pszSrcFile, __LINE__, "Caught exception %lx at %p while handler active",
    145              ex, pContext->ctx_RegEip);
    146     }
    147     working--;
    148     return XCPT_CONTINUE_SEARCH;
    149   }
    150 
    151141  // Bypass exceptions we don't handle or exceptions we ignore
    152142  // Keep in sync with exceptq selections since exceptq will ignore anyway
     
    160150      ex == XCPT_SINGLE_STEP)
    161151  {
     152    return XCPT_CONTINUE_SEARCH;
     153  }
     154
     155  // Try to report cascading exceptions in handler only once
     156  // This simple test can get confused if multiple threads trap at same time
     157  if (++working > 1) {
     158    if (working == 2) {
     159      DbgMsg(pszSrcFile, __LINE__, "Caught exception %lx at %p while handler active",
     160             ex, pContext->ctx_RegEip);
     161    }
    162162    working--;
    163163    return XCPT_CONTINUE_SEARCH;
Note: See TracChangeset for help on using the changeset viewer.